У меня есть структуры, адаптированные для ускоренного слияния, подобные этой:
struct A {
int x;
double y;
std::string z;
};
BOOST_FUSION_ADAPT_STRUCT(
A,
x,
y,
z
)
Я бы хотел перебрать типы адаптации во время компиляции. Например, если у меня есть класс, который охватывает тип:
template <typename T> class Foo { ... };
, тогда я хотел бы иметь возможность получить тип std::tuple<Foo<int>, Foo<double>, Foo<std::string>>
, учитывая мою структуру A. Я использую std::tuple
здесь просто в качестве примера;это может быть другой шаблонный класс типа variadic.
Решение c ++ 17 приветствуется.