Вопросы с тегом «variadic-templates»

Шаблоны с переменным числом параметров - это шаблоны, которые принимают переменное количество параметров.

255
«Распаковка» кортежа для вызова соответствующего указателя на функцию

Я пытаюсь сохранить в std::tupleразличном количестве значений, которые позже будут использоваться в качестве аргументов для вызова указателя функции, который соответствует сохраненным типам. Я создал упрощенный пример, показывающий проблему, которую я пытаюсь решить: #include <iostream>...

216
make_unique и идеальная пересылка

Почему std::make_uniqueв стандартной библиотеке C ++ 11 нет шаблона функции? я нахожу std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); немного многословно Разве следующее не будет намного лучше? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Это...

115
Как можно вызвать std :: forward для всех аргументов в вариативной функции?

Я просто писал универсальную объектную фабрику и использовал мета-библиотеку препроцессора boost для создания вариативного шаблона (с использованием 2010, а он их не поддерживает). Моя функция использует ссылки rval иstd::forward выполняет идеальную пересылку, и это заставило меня задуматься ......

110
Что означает токен «……»? т.е. оператор двойного многоточия в пакете параметров

Просматривая текущую реализацию новых заголовков C ++ 11 в gcc, я наткнулся на токен «......». Вы можете проверить, что следующий код компилируется нормально [через ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct...

87
C ++ 11: количество параметров функции шаблона с переменным размером?

Как я могу подсчитать количество аргументов функции вариативного шаблона? то есть: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } Как лучше всего реализовать number_of_argsвышеперечисленное?...

86
Довольно печать std :: tuple

Это продолжение моего предыдущего вопроса о хорошо печатаемых контейнерах STL , для которого нам удалось разработать очень элегантное и полностью общее решение. На этом следующем шаге я хотел бы включить красивую печать std::tuple<Args...>с использованием вариативных шаблонов (так что это...

26
Как я могу создать способ декартово произведение списков типов в C ++?

Самоочевидно. В основном, скажем, у меня есть списки типов, например, так: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; Они могут быть различными числами списков типов. Как я могу...