Результаты поиска по запросу "template-specialization"
Специализация параметра шаблона вариационного шаблона на минимальном количестве аргументов: законно или нет?
У меня есть код: #include <cstdio> template<template<typename...> class> struct Foo { enum { n = 77 }; }; template<template<typename, typename...> class C> struct Foo<C> { enum { n = 99 }; }; template<typename...> struct A { }; ...
Почему полная специализация шаблонной функции не берется из файла .cpp без объявления?
Следующий код не генерирует компиляцию / ошибку компоновщика / предупреждение: // A.h #include<iostream> struct A { template<typename T> static void foo (T t) { std::cout << "A::foo(T)\n"; } }; void other (); // main.cpp #include"A.h" int main ...
Как смоделировать частичную специализацию выбранных функций-членов на основе параметра шаблона, который является контейнером STL?
Я работаю с классом, который использует контейнеры STL в качестве параметра шаблона. Однако не все контейнеры предоставляют одинаковые методы, поэтому я пыта...
Почему Стандарт запрещает объявления друзей о частичных специализациях?
Стандарт C ++ запрещает объявления друзей частичных специализаций. (§14.5.3 / 8): Объявления друзей не должны объявлять частичные специализации. [Пример: template<class T> class A { }; class X { template <class T> friend class A<T*>; //error ...
Шаблон проектирования, позволяющий избежать потери при передаче сообщений
Базовый классMessageHandler вывел классы. Они хотели бы передавать сообщения друг другу. Сообщения могут быть разных классов, но могут быть сделаны для общего базового класса. Как каждый можетMessageHandler избежать передачи полученного ...
метафункция шаблона для определения специализаций шаблона
Вдохновленныйэтот вопросяИнтересно, есть ли какая-то проверка во время компиляции, которую можно ввести, чтобы обнаружить, есть ли два заданных экземпляра ша...
Каков наилучший способ создания шаблона функции только для специализации?
Есть ли лучший способ сделать следующее? #include <iostream> template <typename T> T Bar(); template <> int Bar<int>() { return 3; } // Potentially other specialisations int main() { std::cout << Bar<int>() << std::endl; // This should work ...
https://wandbox.org/permlink/PpR6G0gcvMRoxhhZ
отаю над проектом, который имеет функцию шаблона следующим образом: template <class T> T foo<T>(T val) { return someFunc(val); } template <> bool foo<bool>(bool val) { return otherFunc(val); };Теперь у меня есть классBar, который я не хочу ...