9 нояб. 2017 г. 14:56 пользователь "Peter Dimov via Boost" < boost@lists.boost.org> написал: Antony Polukhin wrote: You can not extract the X1 and X2 types from ubiq{} without registering
them in the map first or exploiting core language issue. However you can register all the builtin types in the map, flatten the X3 till builtin types and extract that knowledge.
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}. And you can not remember X1 because it is not registered in the map.