Результаты поиска по запросу "template-specialization"
метафункция шаблона для определения специализаций шаблона
Вдохновленныйэтот вопросяИнтересно, есть ли какая-то проверка во время компиляции, которую можно ввести, чтобы обнаружить, есть ли два заданных экземпляра ша...
У меня нет моей копии стандарта под рукой, поэтому не уверен, что это настоящая проблема или старый компилятор.
я есть функция шаблона variadic, которая вызывает себя для определения наибольшего числа в списке (составленного из шаблонизированных аргументов). Я пытаюсь сделать специализацию для случая, когда пакет параметров пуст, поэтому я могу просто ...
Шаблон специализации для enum
Можно ли специализировать шаблонный метод для перечислений? Что-то вроде (неверный код ниже): template <typename T> void f(T value); template <> void f<enum T>(T value);В случае, если это невозможно, то предположим, что у меня есть ...
частичная специализация с зависимым именем (typename)
У меня есть следующие простыеstrinToTypeImpl функция, которая преобразует любой тип строки в тип шаблона. Проблема, которая меня беспокоит, заключается в том, что компилятор говорит мне о частичной специализации дляtypename MyMatrix<T>::Vector3 ...
Является ли std :: vector <T> `пользовательским типом`?
В 17.6.4.2.1 / 1 и 17.6.4.2.1 / 2текущий проект стандарта ограничения наложены на специализации, введенные пользователями в
Специализация шаблона функции-члена после ошибки создания экземпляра и порядок функций-членов
Следующий бит кода не скомпилируется на gcc 4.5.3 struct Frobnigator { template<typename T> void foo(); template<typename T> void bar(); }; template<typename T> void Frobnigator::bar() { } template<typename T> void Frobnigator::foo() { bar<T>(); ...
Нет, в этом примере нет специализации. Специализация - это не когда вызывается шаблонная функция. Это когда вы пишете несколько версий шаблона, некоторые из которых имеют специализированные типы. Как говорит DeadMG, вы не можете частично специализировать функцию.
я есть шаблонная функция, которую я хочу специализироватьfoo вconst char[N] (жестко закодированные строки) template<typename T> const std::string foo() ; template<typename T,int N> const std::string foo<T[N]>() { return "T[N]"; } //this doesn't ...
Создание нового примитивного типа
Есть ли способ создать новый тип, который похож на один из базовых типов (например, char), и который может быть неявно преобразован между ними, но будет различаться в шаблонах, так что, например, работает следующий код? typedef char utf8; ...