Здравствуйте, enji, Вы писали:
E>Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>>Появление compile-time reflection конечно изменит ситуацию.
E>а есть уже какие-то подвижки в эту сторону? В идеале хотелось бы компайл-тайм макросов (с циклами, переменными и всем прочим), в которых можно добраться до синтаксического дерева
В комитете по стандартизации есть подгруппа SG7, в ней рассматриваются как раз все связанные с рефлексией предложения.
https://groups.google.com/a/isocpp.org/d/forum/reflection
Например, вот такое предложение есть:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4111.pdf
struct A
{
int a;
};
typedef mirrored(A) meta_A;
typedef meta::members<meta_A>::type meta_A_members;
static_assert(meta::size<meta_A_members>() == 1, ""); // A::a
// ну и
typedef meta::at<meta_A_members, 0>::type meta_A_a;
//и дальше работать с meta_A_a