Я создал класс шаблона, который принимает два простых параметров шаблона (например, междунар или двойной) и получен несколько других классов из него:Как получить кортеж на основе шаблонов шаблонов с переменным размером в C++?
template <typename A, typename B>
class IClassBase {...}
template <typename B>
class Derived1Class : public IClassBase<std::string, B> {...}
template <typename B>
class Derived2Class : public IClassBase<std::string, B> {...}
Мне нужно разработать структуру, которая позволила бы компилятору построить зЬй :: tuple на основе списка типов шаблонов и их параметров (тип B в фрагменте кода выше).
Так дали список ниже
Derived1Class<int>, Derived1Class<double>, Derived2Class<bool>, Derived2Class<std::string>
компилятор должен вывести следующий кортеж:
std::tuple<int, double, bool, std::string>
Это возможно даже, и если да, то как это может быть сделано в C++?
Заранее спасибо)
Честно говоря, даже если это может работать, код довольно нечитаемым, и трудно понять, я думаю, что это следует избегать: D – Cristy
Если вы думаете, что нечитаемым, выбрать любой заголовок, ',' ', и попробуйте прочитать его сами. Никто никогда не обвинял C++ в том, что он кристально чист. Поскольку тег 'C++' на stackoverflow.com является свидетелем ... –
Да, возможно, я просто не использую то, как беспорядочный синтаксис C++ может получить: D – Cristy