Описание тега parameter-pack
1
ответ
Реализация класса доступа, созданная из пакетов параметров шаблона
Я хотел бы создать все States в MachineT как shared_ptr<T> затем получите к ним доступ по имени типа. В следующем коде он относится к созданию экземпляра (конструктор MachineT) и способу доступа к состояниям (функция получения). Есть ли какой-…
22 май '20 в 11:53
2
ответа
Как в функции-шаблоне построить разные объекты в соответствии с их типами?
Вот мой вопрос, у меня базовый класс Base, два производных класса ClassA а также ClassB форма Base принимая только два аргумента и два класса ClassB0 а также ClassB1 полученный из ClassBпринимая три аргумента. Я хочу создать класс, соответствующий т…
24 дек '19 в 04:10
1
ответ
шаблон шаблона пакет переменных параметров
Может кто-нибудь объяснить приведенный ниже код с пакетами параметров шаблона. Как это работает? Как в этом случае упаковываются и распаковываются параметры шаблона: template<typename Test, template<typename...> class Ref> //#6 struct is…
13 янв '20 в 10:20
2
ответа
Проблема с sizeof... пакета параметров в enable_if
Следующий пример не работает во всех основных компиляторах: clang, gcc а также visual studio. Хотелось бы узнать, что с этим не так, вроде бы все очень просто: если sizeof...(TYPES) == 2 тогда он должен исключить одну перегрузку и принять другую, ес…
24 янв '20 в 14:46
3
ответа
Типы фильтров в пакете параметров
Я пытаюсь создать отфильтрованный тип вариативного шаблона / пакета параметров, а также сохранить порядок. // example what im trying to accomplish template<typename... Args> struct query { using filtered = typename filtered<std::is_integral…
31 янв '20 в 17:46
2
ответа
Инициализировать более одного неизвестного базового класса
Если базовый класс неизвестен библиотеке (он известен клиенту), обработать его конструктор не так уж и сложно. Код выглядит так: template<typename Parent> struct AAAAA : public Parent { using Parent::Parent; template<typename ...Args> AA…
13 фев '20 в 00:41
1
ответ
Почему руководство по выводам классов не работает при использовании typedef?
В фрагменте кода, который я сейчас пишу, я использую руководство по выбору классов. Вы можете найти фрагмент кода, сокращенный до простого (но бессмысленного примера) ниже: У меня есть классUser, который получает свой первый параметр шаблона из перв…
19 фев '20 в 02:30
3
ответа
Есть ли способ получить значения в пакете параметров без использования рекурсии?
Я видел много примеров кодов, которые используют рекурсию для извлечения значений из пакета параметров. Есть ли другой способ, кроме рекурсии, извлечь значения из пакета параметров?
26 апр '20 в 18:00
0
ответов
инициализировать объединение с помощью пакетов параметров шаблона
Я пишу движок с ECS и моделью, ориентированной на данные. Я пытаюсь избежать наследования и динамической отправки, чтобы не удалять кеш с каждымupdate()вызов. Я придумал следующее: struct transformComponent { const unsigned short id; vecShort p; tra…
11 май '20 в 14:03
0
ответов
Как использовать типы в пакете параметров?
Я новичок в С ++11 и пытаюсь создать функцию, которая запускает объекты template<size_t I, typename... T> void fun() { // use T here, may be something like // std::tuple_element<I, std::tuple<T...>>::type i; // i.run(); } Я не знаю…
09 янв '20 в 09:00
1
ответ
Передача указателей на член в объект функции из пакета параметров шаблона
Ниже приведен образец кода, демонстрирующий то, что я пытаюсь сделать. в основном я хочу передать более одного указателя на член в метод класса, который принимает std::function номер объекта и переменной или аргументы, которые передаются в целевой о…
11 янв '20 в 20:42
3
ответа
Используете ли признаки типа в пакетах параметров шаблона?
В приведенном ниже примере кода я пытаюсь проверить, являются ли аргументы функции указателями или нет std::is_pointer он отлично работает, если есть только один параметр, но как заставить его работать с большим количеством параметров, например, в п…
12 янв '20 в 00:54
1
ответ
Должен ли я явно показывать типы в пакете параметров при создании экземпляра шаблона?
У меня есть пример, иллюстрирующий мой вопрос: #include <utility> class Foo { public: Foo(int i) {} }; template<typename T, typename ...Args> class Bar { public: T t; Bar(Args &&... args) : t(std::forward<Args>(args)...) {}…
16 янв '20 в 12:05
1
ответ
"итерация" по std::tuple и доступ ко всем конструкторам
Я новичок в вариативных шаблонах, и мне сложно реализовать этот контейнерный класс. Я хочу взять список типов, а затем создатьstd::tuple что держит std::vectorsкаждого типа. Конкретная трудность, с которой я столкнулся, заключалась в том, чтобы "пов…
26 янв '20 в 00:37
2
ответа
C++ - объявить указатель на функцию, возвращающую любой тип и получающую любое количество параметров
Мне было интересно, возможно ли написать что-нибудь похожее на это объявление (используя пакет параметров). decltype(auto) (*funcPtr)(...); Если возможно, хотелось бы также узнать об альтернативных способах объявления такого указателя.
01 фев '20 в 18:04
1
ответ
Конструктор пакета параметров, скрывающий определяемое пользователем преобразование в шаблоне класса
Я пишу простой шаблон класса для математических векторов. У меня есть в шаблоне шаблон конструктора с использованием пакета параметров, чтобы вектор можно было построить с переменным количеством параметров: template <unsigned int N, typename T>…
08 фев '20 в 03:51
3
ответа
C++: использование пакета параметров в конструкторах?
#include <iostream> class A { public: A(bool b, int i) : b_(b) , i_(i) {} void print() { std::cout << b_ << " " << i_ << "\n"; } private: bool b_; int i_; }; class B { public: B(double d) : d_(d) {} void print() { std::…
13 фев '20 в 16:24
1
ответ
Каков самый простой способ обработать значения пакета параметров шаблона в правильном порядке без использования свернутых выражений (C++11)
Я хотел бы перенести следующий код на C++11: template<unsigned i> static void bar() { /* some code with compile-time optimizations for each value i */ } template <unsigned... I> void f() { ((bar<I>()),...); } Порядок вызова 'bar' д…
12 мар '20 в 04:00
1
ответ
Рекурсивная распаковка пакета шаблонов для функции без параметров
Я пытаюсь создать шаблон структуры с пакетом типов вариативного шаблона, который может вычесть сумму размеров всех переданных типов. Ниже вы найдете упрощенный пример, в реальном контексте вычисленный размер используется для создания дополнительных …
22 апр '20 в 19:13
1
ответ
Как развернуть шаблон пакета параметров "разархивированным" способом?
Скажем, у меня есть вариативная функция, foo: template <typename... Args> void foo(Args... args) { // some work } Я хочу иметь волшебную функцию, bar, который передает свои аргументы foo следующим образом: Скажи, если я позвоню bar(x, y, z); Э…
14 май '20 в 21:21