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

можно ли обнаружить указатель на функцию-член?
мне нужен специализированный шаблон в случае указателя на функцию-член. Есть ли способ обнаружить это? прямо сейчас я объявляю struct isPtrToMemberFunc, затем добавляю дополнительный шаблон (класс TType=void) к каждому классу (сейчас только 1) и...
196 просмотров
schedule 23.12.2022

Размер универсального типа
Есть ли способ определить размер в байтах чего-то вроде TItem <T> = record Data : T; end; Могу ли я написать что-то вроде function TItem <T>.GetByteSize : Integer; begin if (T = String) then Result := GetStringByteSize...
725 просмотров

Наследование таблицы классов против денормализации
Я пытаюсь смоделировать специализацию/обобщение, склоняясь к использованию наследования таблиц классов (см. этот ответ ). Однако у моего коллеги есть проблемы с обслуживанием и производительностью, потому что будет много (50+) перекрывающихся...
975 просмотров

Специализация конструктора шаблона класса
Я возился со специализацией шаблонов и столкнулся с проблемой при попытке специализировать конструктор на основе используемой политики. Вот код, который я пытаюсь заставить работать. #include <cstdlib> #include <ctime> class...
1590 просмотров

Проблема с частичной специализацией шаблона класса
Я пытался реализовать функцию, которая требует частичной специализации шаблона, и вернулся к технике статической структуры, и у меня возник ряд проблем. template<typename T> struct PushImpl<const T&> {...
1572 просмотров

Специализация одного шаблона C++ с несколькими параметрами шаблона
Привет! Я хотел бы специализироваться только на одном из двух типов шаблонов. Например. template <typename A, typename B> class X должна иметь специальную реализацию для одной функции X<float, sometype>::someFunc() . Образец...
20114 просмотров
schedule 09.07.2022

Частичная специализация шаблона для определенного типа, c ++
Используя частичную специализацию шаблонов, я хотел бы создать функцию / метод: A) обработка только одного конкретного примитивного типа (int, double, float, ...) формального параметра, а для других типов выдача исключения template <class...
6223 просмотров

Частичная специализация указателей методов внутри шаблона
Я пытаюсь реализовать свойства с поведением только для чтения, только для записи и чтения. Я думал, что здесь подойдет специализация шаблона, поэтому я попробовал это: template<typename Class, typename Type, void (Class::*Set)(Type), Type...
137 просмотров

Обходной путь для специализированного шаблона для функции-члена, когда класс шаблона не является специализированным
Я создаю класс структуры данных со стандартным интерфейсом и реализую разные итераторы для структуры данных. Концептуально я хотел бы сделать что-то вроде этого: template <class DataT> class DataStructure { protected: DataT&...
929 просмотров
schedule 12.10.2022

Специализация класса для итераторов, конвертируемых в указатели
Я пытаюсь разработать класс, который позволит мне эффективно получать доступ к контейнеру/указателю через семантику итератора, когда это можно сделать правильно, и когда итераторы не могут быть преобразованы в указатели, я хочу скопировать диапазон...
288 просмотров
schedule 22.12.2022

Невозможно перегрузить функцию
Итак, у меня есть шаблонный класс, и я хочу перегрузить поведение функции, когда у меня есть определенный тип, скажем, char. Для всех остальных типов пусть занимаются своими делами. Однако С++ не позволит мне перегрузить функцию. Почему я не могу...
3041 просмотров
schedule 20.11.2022

Частичная специализация шаблона C++
это может быть вопрос, который кто-то задавал раньше, но я не могу его найти... у меня есть класс в файле .hpp : class A{ public: A(){//constructor} ~A(){//destructor} //some public methods and arguments...
632 просмотров
schedule 12.06.2022

Объявление специализированной функции в классе шаблона
Проблема, с которой я борюсь, - это объявление специализированной функции шаблона внутри класса шаблона (я сохраняю объявление класса в заголовочном файле и определяю функции-члены в связанном файле .C). У меня есть класс шаблона, представляющий...
314 просмотров
schedule 30.05.2022

Специализация шаблонной функции: ошибка компоновщика
Я пытаюсь специализировать функцию двух аргументов шаблона, когда типы аргументов шаблона одинаковы. Я делаю это следующим образом: #include <iostream> #include <type_traits> using namespace std; template<typename U, typename...
302 просмотров
schedule 04.04.2023

Как специализировать реализацию шаблонного класса, если T был производным от определенного базового класса
Я хочу специализировать реализацию шаблонного класса, если T был производным от определенного базового класса. Как я могу это сделать? В приведенном ниже коде x.f () и y.f () должны выполнять разную работу. Я хочу работать не только с...
75 просмотров

Наследование от любого из двух базовых классов с использованием специализации шаблона и конструктора
Я пытаюсь наследовать «производный» класс от base1 или base2. Я хочу использовать специализацию шаблона для этой цели. у меня есть следующее //base1 template<typename FT> class base1 { public: base1(FT m) {} }; //base2...
35 просмотров

Специализированная функция друга в C++
У меня есть шаблон функции foo , который должен выполнять различные вычисления в зависимости от того, является ли параметр шаблона вещественным или комплексным числом. В любом случае результатом будет действительное число, например. double , даже...
197 просмотров

Предотвратить компиляцию неиспользуемой специализации шаблона в С++
Давайте рассмотрим структуру Foo , созданную по шаблону перечисления с именем TYPE : enum TYPE { TYPE_A, TYPE_B }; template<TYPE T> struct Foo; Foo не определяется, а только дважды специализируется. Одна специализация...
699 просмотров

Как перегрузить / специализировать функцию класса шаблона для обработки арифметических типов и класса контейнера
Я пытаюсь создать шаблонный класс с функцией-членом, которая может обрабатывать арифметические типы данных (int, char, float ...) и контейнерным классом, таким как Eigen :: DenseBase ‹> или std :: vector‹> Код для демонстрации моей идеи:...
63 просмотров

Как использовать производный тип в специализации шаблона функции возвращаемого типа? (не удалось вывести аргумент шаблона)
У меня есть класс шаблона и функция с возвращаемым типом шаблона: template<typename T> class Wrapper { public: Wrapper(const T& _data) : data(_data) { } const T& get_data() {return data;}; private: T data; }; template...
71 просмотров