Написание концепции C++ для типа со статической функцией-членом, аргументы которой начинаются с определенного типа. ⇐ C++
Написание концепции C++ для типа со статической функцией-членом, аргументы которой начинаются с определенного типа.
В моем коде есть следующий шаблон фабрики:
Базовый класс { // New создает конкретный тип, но возвращает PTR в базу // ... здесь представляет фактическое продолжение параметров (например, int, double), а не переменные параметры static Ptr New(const Dictionary& dict, ...); // База — абстрактный класс виртуальное обновление пустоты () = 0; }; Как мне написать концепцию, которая допускает любые типы (и количество) аргументов после первого словаря для Base::New?
Моя попытка привела к следующему:
шаблон концепция DictionaryRTSModel = требует (словарь d, Args... args) { { T::New(d, args...) }; }; который работает, но требует передачи типов в концепцию (DictionaryRTSModel будет гарантировать, что T::New(dictionary&, int, double) есть.
Есть ли способ пропустить просмотр аргументов T::New после первого? Я нахожусь на ранней стадии разработки, поэтому возможен значительный рефакторинг.
В моем коде есть следующий шаблон фабрики:
Базовый класс { // New создает конкретный тип, но возвращает PTR в базу // ... здесь представляет фактическое продолжение параметров (например, int, double), а не переменные параметры static Ptr New(const Dictionary& dict, ...); // База — абстрактный класс виртуальное обновление пустоты () = 0; }; Как мне написать концепцию, которая допускает любые типы (и количество) аргументов после первого словаря для Base::New?
Моя попытка привела к следующему:
шаблон концепция DictionaryRTSModel = требует (словарь d, Args... args) { { T::New(d, args...) }; }; который работает, но требует передачи типов в концепцию (DictionaryRTSModel будет гарантировать, что T::New(dictionary&, int, double) есть.
Есть ли способ пропустить просмотр аргументов T::New после первого? Я нахожусь на ранней стадии разработки, поэтому возможен значительный рефакторинг.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение