Автоматическое явное создание экземпляра шаблона ⇐ C++
-
Anonymous
Автоматическое явное создание экземпляра шаблона
Я определяю несколько типов в своей библиотеке:
ТипA ТипB ТипC ... Пользователям библиотеки необходимо писать функции, шаблонизированные следующими типами:
шаблон void user_function( константа Т& т); Предполагается, что эти функции работают только с типами, перечисленными выше.
Я хотел бы, чтобы пользователь мог писать реализации этих функций в файле .cpp без необходимости явного создания экземпляров всех типов. В частности, потому, что в будущем я могу добавить новые типы.
Вот чего мне хотелось бы избежать:
template void user_function(const TypeA&); шаблон void user_function(const TypeB&); шаблон void user_function(const TypeC&); шаблон void user_function(const TypeD&); ... И лучше иметь что-то вроде:
для типа во всех типах шаблон void user_function(const Type&); с AllTypes, определенными в моей библиотеке.
Есть ли способ добиться этого?
Я определяю несколько типов в своей библиотеке:
ТипA ТипB ТипC ... Пользователям библиотеки необходимо писать функции, шаблонизированные следующими типами:
шаблон void user_function( константа Т& т); Предполагается, что эти функции работают только с типами, перечисленными выше.
Я хотел бы, чтобы пользователь мог писать реализации этих функций в файле .cpp без необходимости явного создания экземпляров всех типов. В частности, потому, что в будущем я могу добавить новые типы.
Вот чего мне хотелось бы избежать:
template void user_function(const TypeA&); шаблон void user_function(const TypeB&); шаблон void user_function(const TypeC&); шаблон void user_function(const TypeD&); ... И лучше иметь что-то вроде:
для типа во всех типах шаблон void user_function(const Type&); с AllTypes, определенными в моей библиотеке.
Есть ли способ добиться этого?
Мобильная версия