Boost mpl - добавить элемент для каждого элемента в векторе - PullRequest
0 голосов
/ 17 июня 2020

У меня есть вектор boost mpl с типами (очевидно). После объявления этого вектора я хочу перебрать его и добавить каждый тип, заключенный в другой шаблон, к этому вектору. Я много чего пробовал, но хоть убей не могу понять этого. Я не уверен, можно ли вообще изменить вектор mpl при итерации по нему, например, работает ли аннулирование итератора так же, как в STL? По сути, у меня есть это:

typedef boost::mpl::vector<int, float, double> MyTypes;
template<typename T> struct wrapper { T _value; };

, а затем я хочу добавить wrapper<int>, wrapper<float> и wrapper<double> в MyTypes. Конечно, в моем реальном коде у меня гораздо больше типов, которые я не хочу дублировать.

Так что я думаю, что это должно быть возможно, например, путем объединения boost :: mpl :: fold с boost :: mpl :: back_inserter каким-то образом, но я не могу понять ... Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...