Вопросы по теме 'partial-specialization'

Частичная шаблонная специализация бесплатных функций - лучшие практики
Как должно знать большинство программистов на C ++, частичная специализация бесплатных функций по шаблону запрещена. Например, следующий код C ++ является недопустимым: template <class T, int N> T mul(const T& x) { return x * N; }...
4759 просмотров

Внутренний класс в зависимости от аргумента шаблона
Рассмотрим следующий пример: #include <iostream> #include <typeinfo> template< int N, typename T > struct B { struct C; }; template< typename T > struct B< 0, T >::C { typedef T type; }; template< int N,...
3799 просмотров

Частичная специализация шаблона функтора, вызывающего метод-член переданных ему объектов.
У меня есть следующий функтор и его частичная специализация template <class _T, typename _Return = void, typename _Arg = void> struct Caller { typedef _Return(_T::*Method)(_Arg); Caller(Method pm, _Arg a) : _pMethod(pm),...
587 просмотров

Диспетчеризация тегов и статические методы в частично специализированных классах
Предположим, я хочу написать общую функцию void f<T>() , которая делает одно, если T является типом POD, и другое, если T не является POD (или любым другим произвольным предикатом). Один из способов добиться этого — использовать шаблон...
9655 просмотров

Частичная специализация шаблона с ошибкой нескольких аргументов шаблона
Когда я использую частичную специализацию шаблона для класса с одним аргументом шаблона, я могу специализировать такой метод: #include <cstdlib> template< std::size_t Dim > class Test { public: int foo(); }; template<...
5734 просмотров

Деревья выражений и IL.Emit для специализации кода времени выполнения
Недавно я узнал, что можно генерировать код C# во время выполнения, и я хотел бы использовать эту функцию. У меня есть код, который выполняет некоторые очень простые геометрические вычисления, такие как вычисление пересечений линии и плоскости, и я...
1851 просмотров

Частичная специализация шаблона шаблона
есть этот код: template<typename T, template<typename, typename> class OuterCont, template<typename, typename> class InnerCont, class Alloc=std::allocator<T>> class ContProxy { OuterCont<T, InnerCont<T,...
721 просмотров

Частичная специализация с нешаблонным классом, унаследованным от шаблонного класса
Пример 1 Если у нас есть классы Base и Derived class Base {}; class Derived : public Base {}; и класс шаблона template <class T, class Enabler=void> class Partialy { public: void say() { std::cout <<...
455 просмотров

Частичная специализация С++ в операторе наследования?
Так что я попал в затруднительное положение с шаблонами C++. Предполагая, что у меня есть иерархия контейнерных классов вида: template <class T> class AContainer{ // ... }; И через наследование делаются разные контейнеры с разными...
346 просмотров

Сбой создания экземпляра функции с двойным шаблоном
Следующий код: template<typename T, MyEnum K> __global__ void myKernel(const T a[]); template<typename T> __global__ void myKernel<T,SomeValueOfMyEnum>(const T a[]) { // implementation } Вызывает следующее сообщение об...
5677 просмотров

Частичная специализация шаблона для приложения с частичным параметром шаблона не работает GCC 4.8.1
В основе моего класса, основанного на политике, лежит адаптер контейнера, который предоставляет интерфейс для преобразования между различными контейнерами. Он параметризуется типом T и параметром шаблона шаблона Container. Чтобы заставить его...
705 просмотров

Частичная специализация шаблона функции C++
В основном я реализую свою собственную функцию распределения памяти Malloc() , которая void Malloc(size_t size); Теперь я хочу реализовать свои собственные функции New и NewArray, я объявляю эти две функции следующим образом: // template...
726 просмотров
schedule 09.10.2022

C++ Частичная специализация шаблонов — упрощение дизайна
Я работаю над шаблоном проектирования конвейера/потока данных. У меня есть класс "вывод данных алгоритма" ( AlgorithmOutput ), который действует как интерфейс между двумя подключенными сегментами сети. В частности, он предоставляет шаблоны методов...
134 просмотров

Создайте класс шаблона на основе логического значения времени выполнения
Как я могу реализовать ниже? Я хотел бы «предварительно создать» 2 экземпляра класса шаблона «Doer» для логических значений. Я застрял с виртуалами? что было бы наиболее эффективным способом сделать что-то подобное? Я знаю о варианте повышения, но...
425 просмотров

необязательная проверка диапазона на основе параметра шаблона
Допустим, у меня есть класс, который просто выполняет сложение для любого типа T. Я хочу добавить необязательную проверку диапазона (на основе параметра шаблона типа bool), которая будет проверять, принадлежит ли результат сложения к заданному...
792 просмотров

Ошибка специализации шаблона для шаблонной структуры внутри шаблонной структуры
Кажется, я не могу понять, что происходит не так со следующим примером. $ cat repro.cpp #include <iostream> using namespace std; template<class T> struct S1_t { template<class U> struct inner_t_x {}; using inner_t =...
110 просмотров

Частичная специализация определенных функций-членов
#include <iostream> template <typename T1, typename T2> class B{ public: void update(){ std::cerr<<__PRETTY_FUNCTION__<<std::endl; } void func1(){ std::cerr<<__PRETTY_FUNCTION__<<std::endl; } void...
512 просмотров

Частичная специализация интегральной константы против типа
Можно ли специализировать шаблон на основе того, является ли аргумент шаблона либо типом, либо целочисленной константой? Вот пример, который не компилируется, но иллюстрирует намерение: #include <cstdio> #include <cstddef> // tag...
238 просмотров
schedule 07.06.2022

Частичная специализация шаблона класса для одной функции, как решить неопределенную ошибку других членов
У меня есть следующий класс шаблона. Мне нужно специализировать функцию alloc для определенного случая outT . template <typename inT, typename outT> class Filter { public: typedef inT InputType; typedef outT OutputType; struct...
84 просмотров

Почему стандарт С++ не допускает частичной специализации шаблона функции?
Я прочитал кое-что, что может сбить с толку компилятора при написании template <class T> void calculator<std::complex<T>>::myMin(); а может просто так намекнуть? Чтобы было понятно, что это частичная специализация....
727 просмотров
schedule 27.06.2022