Свързани въпроси 'template-specialization'

Разнообразна шаблонна функция с аргументи от един и същи тип
Как да огранича шаблонна функция с различни варианти, така че всички нейни аргументи да бъдат от един и същи тип? Имам нужда от това за специализация на CommonType!T either(T...)(T a) if (a.length >= 1) { static if (T.length == 1)...
125 изгледи

C++ шаблонна специализация за плаващи точки
Искам да специализирам метод от клас X за типове с плаваща запетая. Следният код се компилира и работи перфектно: x.hpp: template <typename T> class X { public: ... T bucket_width(const BucketID index) const; T bucket_min(const...
702 изгледи

Как да специализирам член на шаблонен клас с параметър на шаблон на шаблон
Имам клас на шаблон с int и параметър на шаблон на шаблон. Сега искам да специализирам членска функция: template <int I> class Default{}; template <int N = 0, template<int> class T = Default> struct Class { void member();...
2390 изгледи
schedule 10.12.2022

Специализация на C++ шаблон за конкретни стойности
Имам структура Opers с някои аритметични операции: mult() , div() , mod() . И трябва да специализирам шаблон за определени стойности на n . Ето пример за Opers<1> . Но също така искам да направя специализация за n , които са...
1540 изгледи

Специализиране на std::hash към производни класове
Имам абстрактен базов клас Hashable , от който произлизат класове, които могат да бъдат хеширани. Сега бих искал да разширя std::hash до всички класове, които произлизат от Hashable . Следният код трябва да прави точно това. #include...
2049 изгледи

Извикване на неспециализираната версия на функция, когато я специализирате в C++?
Да кажем, че имам шаблонен клас: template <typename T> class foo { void do_someting(T obj) { // do something generic... } }; и искам да специализирам do_something, но в него искам да извикам "нормалната" функция do_something:...
1002 изгледи
schedule 26.12.2023

C++ Добавяне на претоварени методи за специфични специализации на шаблони
Имам доста интересен проблем: имам два шаблонни класа. Единият може да приема произволен параметър на шаблона, другият е по-специализиран (за този проблем с играчката ще кажем, че трябва да приема плаващи точки). template< class T > class...
106 изгледи

Как да специализирам тази членска функция на шаблон?
Имам тази настройка: class DontUse; template<class T,class U = DontUse, class V = SomeStandardType> class Foo { public: void bar(U &uh); }; Когато U е настроено на DontUse, искам лентата да е празна функция. Във всички...
204 изгледи
schedule 14.04.2024

В C# как да получите различен екземпляр на IEqualityComparer‹T›, ако общият тип имплементира интерфейс
Имам общ метод с неограничен общ тип. Трябва да получа различен IEqualityComparer, ако тип T внедрява интерфейс. Един код изглежда приблизително така: public SomeState MergeCollection<T>( ICollection<T> thisValue,...
266 изгледи
schedule 18.01.2024