boost::mpl typelist function application

У меня есть функция, которую я хочу выполнить для всех типов в списке типов (в настоящее время представленном списком mpl --- это вообще разумный способ подойти к этому?)

Ключ здесь в том, что функция заботится только о типе, а не о фактических данных; она вызывает статическую функцию в этом типе для получения некоторой информации, а затем запихивает ее в хэш-таблицу для последующего использования.

Однако, насколько я могу судить, mpl не имеет средств для этого - ближе всего я могу найти оператор mpl for_each, но он, похоже, должен использоваться для фактических инстанций каждого из типов, а не для самих типов.

В библиотеке Loki была функция "apply", которая более или менее соответствует тому, что я ищу - она обходила проблему инстанцирования, передавая указатель на тип в списке типов в качестве параметра, чтобы помочь с вычитанием, но не делая полного инстанцирования. Что я должен искать в MPL, чтобы получить эту функциональность? Или я упускаю что-то очевидное?

7
задан Kozaki 29 December 2011 в 17:44
поделиться