Вопросы по теме '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 просмотров
schedule
05.07.2022
Наследование таблицы классов против денормализации
Я пытаюсь смоделировать специализацию/обобщение, склоняясь к использованию наследования таблиц классов (см. этот ответ ).
Однако у моего коллеги есть проблемы с обслуживанием и производительностью, потому что будет много (50+) перекрывающихся...
975 просмотров
schedule
09.10.2022
Специализация конструктора шаблона класса
Я возился со специализацией шаблонов и столкнулся с проблемой при попытке специализировать конструктор на основе используемой политики. Вот код, который я пытаюсь заставить работать.
#include <cstdlib>
#include <ctime>
class...
1590 просмотров
schedule
22.06.2023
Проблема с частичной специализацией шаблона класса
Я пытался реализовать функцию, которая требует частичной специализации шаблона, и вернулся к технике статической структуры, и у меня возник ряд проблем.
template<typename T> struct PushImpl<const T&> {...
1572 просмотров
schedule
17.05.2022
Специализация одного шаблона 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 просмотров
schedule
26.11.2022
Частичная специализация указателей методов внутри шаблона
Я пытаюсь реализовать свойства с поведением только для чтения, только для записи и чтения. Я думал, что здесь подойдет специализация шаблона, поэтому я попробовал это:
template<typename Class, typename Type, void (Class::*Set)(Type), Type...
137 просмотров
schedule
07.07.2023
Обходной путь для специализированного шаблона для функции-члена, когда класс шаблона не является специализированным
Я создаю класс структуры данных со стандартным интерфейсом и реализую разные итераторы для структуры данных.
Концептуально я хотел бы сделать что-то вроде этого:
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 просмотров
schedule
26.07.2023
Наследование от любого из двух базовых классов с использованием специализации шаблона и конструктора
Я пытаюсь наследовать «производный» класс от base1 или base2. Я хочу использовать специализацию шаблона для этой цели. у меня есть следующее
//base1
template<typename FT>
class base1
{
public:
base1(FT m)
{}
};
//base2...
35 просмотров
schedule
03.07.2022
Специализированная функция друга в C++
У меня есть шаблон функции foo , который должен выполнять различные вычисления в зависимости от того, является ли параметр шаблона вещественным или комплексным числом. В любом случае результатом будет действительное число, например. double , даже...
197 просмотров
schedule
15.01.2023
Предотвратить компиляцию неиспользуемой специализации шаблона в С++
Давайте рассмотрим структуру Foo , созданную по шаблону перечисления с именем TYPE :
enum TYPE
{
TYPE_A,
TYPE_B
};
template<TYPE T>
struct Foo;
Foo не определяется, а только дважды специализируется. Одна специализация...
699 просмотров
schedule
18.02.2023
Как перегрузить / специализировать функцию класса шаблона для обработки арифметических типов и класса контейнера
Я пытаюсь создать шаблонный класс с функцией-членом, которая может обрабатывать арифметические типы данных (int, char, float ...) и контейнерным классом, таким как Eigen :: DenseBase ‹> или std :: vector‹>
Код для демонстрации моей идеи:...
63 просмотров
schedule
04.07.2022
Как использовать производный тип в специализации шаблона функции возвращаемого типа? (не удалось вывести аргумент шаблона)
У меня есть класс шаблона и функция с возвращаемым типом шаблона:
template<typename T>
class Wrapper {
public:
Wrapper(const T& _data) : data(_data) { }
const T& get_data() {return data;};
private:
T data;
};
template...
71 просмотров
schedule
08.05.2022