
9 Nov
2017
9 Nov
'17
6:33 p.m.
Antony Polukhin wrote:
You got me wondering here. Is it not possible to pass an array of size_t to the size_t* parameter, instead of a single size_t, and then encode the layout of X1 in it?
Yes, that is what the flat reflection does. But during this operation the X1 type flattens/decays to the the basic types. You can not get X1 from a record of {int, int}.
Ah right. You can only get an anonymous tuple_like<int, int> type, not X1. But isn't this still better than flattening? You could print it as { { 1, 2 }, { 3, 4} }, instead of { 1, 2, 3, 4 }.