У меня есть несколько классов, которые используют одни и те же общедоступные определения типа, как
struct A { using Container = std::array<A, 3>; };
struct B { using Container = std::vector<B>; };
struct C { using Container = std::array<C, 5>; };
Теперь у меня есть класс, который получает пакет параметров, содержащий только допустимые классы, но он должен хранить кортеж контейнеров. Псевдо-код:
template <typename... Modules>
struct Collector
{
std::tuple<Modules...::Container> mContainers;
};
Есть ли элегантный способ применения ::Container
во время распаковки?