Assembling a large sparse matrix from several smaller ones is a very common task. This could be accomplished through the comma-initializer API or a more procedure API. In contrast to the desne world for which the sub matrices passed to operator comma are copied to the destination matrix on the fly, here operator comma would store references to each block (within a std::tuple?) and assemble the matrix at the end in a similar way than the kronecker-product implementation.
Patch welcome (with unit tests).
The proposal in bug 1433 might partly address this issue.