У меня есть адаптированные структуры boost fusion, подобные этой:
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
просто в качестве примера; это может быть другой класс шаблона вариативного типа.
Решение С++ 17 приветствуется.