Вопросы с тегом «specialization»

92
Специализация шаблона отдельного метода из шаблонного класса

Всегда учитывая, что следующий заголовок, содержащий мой шаблонный класс, включен как минимум в два .CPPфайла, этот код компилируется правильно: template <class T> class TClass { public: void doSomething(std::vector<T> * v); }; template <class T> void...

88
явная специализация функции-члена класса шаблона

Мне нужно специализировать функцию-член шаблона для некоторого типа (скажем, двойного ). Он отлично работает, пока Xсам класс не является классом-шаблоном, но когда я его делаю, GCC начинает выдавать ошибки времени компиляции. #include <iostream> #include <cmath> template <class...

87
Почему шаблон функции не может быть частично специализированным?

Я знаю, что спецификация языка запрещает частичную специализацию шаблона функции. Хотелось бы узнать, почему он это запрещает? Разве они не полезны? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T>...

87
Частичная специализация шаблона функции с ++?

Я знаю, что приведенный ниже код является частичной специализацией класса: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; Также я знаю, что C ++ не...

84
Как сделать специализацию шаблона на C #

Как бы вы сделали специализацию на C #? Я поставлю проблему. У вас есть тип шаблона, вы не знаете, что это такое. Но вы знаете, происходит ли это от того, что XYZвы хотите позвонить .alternativeFunc(). Отличный способ - вызвать специализированную функцию или класс и получить normalCallвозврат, в...

17
Правильно ли Clang отклонять код, в котором вложенный класс шаблона класса определяется только через специализации?

Дан следующий шаблон класса: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; мы определяем Innerотдельно для каждой специализации Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; а затем определить...

9
несоответствие clang / gcc в специализации классов

Я столкнулся с этой проблемой, пытаясь специализировать tuple_size/ tuple_elementдля пользовательского класса в C ++ 17 для структурированного связывания. Ниже код компилируется в GCC, но не в clang (обе версии транка, см. Ссылку ниже). #include <type_traits> template<typename T,...