Re[7]: С++11: цикл for с двумя инкрементами
От: jazzer Россия Skype: enerjazzer
Дата: 12.02.15 10:50
Оценка:
Здравствуйте, 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
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.