Имея список значений аргументов шаблона, как я могу принудительно создать экземпляр класса шаблона для всех значений в сC++

Программы на C++. Форум разработчиков
Anonymous
Имея список значений аргументов шаблона, как я могу принудительно создать экземпляр класса шаблона для всех значений в с

Сообщение Anonymous »

У меня такой случай:

Код: Выделить всё

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

Вернуться в «C++»