У меня такой случай:
Код: Выделить всё
template struct foo {};
template struct type_list { };
using list_type = type_list;
В конкретной единице перевода я хотел бы явно создать экземпляр foo для всех типов в list_type, что я мог бы сделать вручную, поместив это в исходный файл:
Код: Выделить всё
template class foo;
template class foo;
template class foo;
Однако я хотел бы сделать это для любого списка типов, которые могут быть в list_type. Есть ли способ расширить пакет параметров в list_type, чтобы принудительно создавать экземпляры foo для каждого из его типов? Решения, основанные только на C++11, идеальны, но если требуется что-то вроде C++17, пусть будет так.
Подробнее здесь:
https://stackoverflow.com/questions/781 ... ns-of-a-te