Вопросы по теме 'variadic-templates'
Вариативные шаблоны
Я видел много ссылок, представляющих вариативные шаблоны. Но я никогда не видел компилируемого примера, демонстрирующего этот подход.
Может ли кто-нибудь предоставить мне ссылки, в которых можно найти такие компилируемые примеры?
14556 просмотров
schedule
22.02.2022
списки инициализаторов c++ и вариативные шаблоны
Я хотел создать массив:
template < typename T, typename ... A > struct a {
T x [1 + sizeof... (A)];
a () = default;
a (T && t, A && ... y) : x { t, y... } {}
};
int main () {
a < int, int > p { 1, 1 }; // ok...
998 просмотров
schedule
27.09.2023
Специализация шаблона для пустого пакета параметров
У меня есть вариативная шаблонная функция, которая вызывает себя для определения наибольшего числа в списке (состоящем из шаблонных аргументов). Я пытаюсь сделать специализацию, когда пакет параметров пуст, поэтому я могу просто вернуть число в...
12414 просмотров
schedule
03.06.2022
Вопрос о шаблонах Variadic
Я пытаюсь написать общий код для сравнения std::functions, используя метод шаблона target(). Вот мой необщий пример кода:
#include <cstdio>
#include <functional>
static void bar() {}
static void baz() {}
bool...
458 просмотров
schedule
26.06.2022
Рекурсивная метафункция с использованием вариативных шаблонов
Я пишу метафункцию replace_type<C, X, Y> , которая должна заменить все совпадения типа X в составном типе C на Y . В настоящее время я работаю над тем, чтобы правильно заставить это работать с вызываемыми объектами в C .
Это работает:...
1096 просмотров
schedule
07.02.2023
Последовательность среди вариативного расширения
Для этого невариативного примера:
int Func1();
double Func2();
void MyFunc( int, double );
int main()
{
MyFunc( Func1(), Func2() );
//...
}
не указано, вычисляется ли сначала Func1() или Func2() , просто оба должны быть...
548 просмотров
schedule
31.03.2022
Указатель статической функции-члена в качестве аргумента шаблона
Я получаю эту ошибку компиляции с последним компилятором VC++ (ноябрь 2012 г. CTP) при использовании указателя статической функции-члена в качестве аргумента шаблона:
error C2027: use of undefined type 'wrapper<int (int,int),int...
2076 просмотров
schedule
17.05.2024
Поддержка пакета параметров std :: is_base_of ()
Есть ли возможность иметь статическое утверждение, реализует ли тип, предоставленный в качестве аргумента шаблона, все типы, перечисленные в пакете параметров, т.е. с учетом пакета параметров std :: is_base_of ()?
template <typename Type,...
1284 просмотров
schedule
14.03.2022
Каков наилучший способ переименования (псевдоним/вперед) функции в С++?
(Я ограничу этот вопрос С++ 11, так как считаю, что в С++ 98 нет общего способа сделать это).
Предположим, у меня есть сложный (с точки зрения подписи) набор функций template и/или перегруженных функций, и я хочу использовать эти функции точно...
3061 просмотров
schedule
01.02.2024
Полиморфизм C ++ с переменным параметром функции
Я поделюсь с вами проблемой, которая возникла у меня с классом, использующим параметры вариативной функции. Это класс Thread, показанный в следующем коде. Это оболочка std :: thread для использования шаблона функции.
Я хотел использовать...
2571 просмотров
schedule
12.03.2022
Добавление обратного вызова в класс вариативного шаблона - невозможно?
Я пытаюсь создать шаблонный класс, который имеет метод Add, который прикрепляет обратный вызов функции к классу, поэтому, когда я могу вызвать его оттуда с указанным списком аргументов. Он отлично компилируется, за исключением части, где я вызвать...
1614 просмотров
schedule
14.02.2022
перебор параметров типа шаблона с переменным числом аргументов
У меня есть такой шаблон функции:
template <class ...A>
do_something()
{
// i'd like to do something to each A::var, where var has static storage
}
Я не могу использовать Boost.MPL . Не могли бы вы показать, как это сделать без...
11376 просмотров
schedule
28.08.2023
Шаблоны Variadic: создание кортежа из пар смежных элементов
Моя цель - сделать что-то, чтобы, например,
pairs<1,2,3,4>()
Имеет возвращаемый тип
std::tuple<some_other_type<1,2>, some_other_type<2,3>, some_other_type<3,4>>
Мне интересно, возможно ли это вообще с...
1000 просмотров
schedule
16.12.2022
Как хранить вариативные аргументы шаблона?
Можно ли как-то сохранить пакет параметров для последующего использования?
template <typename... T>
class Action {
private:
std::function<void(T...)> f;
T... args; // <--- something like this
public:...
30798 просмотров
schedule
11.02.2022
Какая самая эффективная функция проверки простых чисел с хвостовой рекурсией известна?
Я экспериментировал с метапрограммированием до этого момента:
// compiled on Ubuntu 13.04 with:
// clang++ -O3 -ftemplate-depth-8192 -fconstexpr-depth=4096 -std=c++11 -stdlib=libc++ -lcxxrt -ldl compile-time-primes.cpp -o compile-time-primes
//...
633 просмотров
schedule
25.12.2023
Создание экземпляров из вариативных шаблонов
Я пытаюсь придумать класс, который позволяет создавать несколько типов с помощью вариативных аргументов шаблона, но во время компиляции я получаю ошибки:
http://ideone.com/nDWBET
#include <list>
#include <memory>
struct...
404 просмотров
schedule
24.10.2022
CRTP + вариативный шаблон + извлечение параметров подкласса CRTP
В настоящее время я реализую общий класс событий. Обработчики событий имеют параметр отправителя и переменное количество аргументов событий. Итак, объявление класса событий выглядит следующим образом:
template<typename SENDER , typename......
686 просмотров
schedule
29.11.2022
Как использовать std::enable_if для условного выбора вариационного конструктора?
Я пытаюсь создать класс, который должен наследовать конструкторы от других классов, но без наследования от самих этих классов.
В какой-то момент во время инициализации моего класса я хочу использовать совершенную переадресацию для создания объекта...
5434 просмотров
schedule
08.02.2024
Typedef или переименовать пакеты в вариативных шаблонах
Как изменить имя пакета в вариативном шаблоне (без макросов):
template <class _T, class... _Rest>
class MyTuple : public MyTuple<_Rest...>
{
// Yes. It's my tuple.
public:
typedef _T T; // Ok!
typedef _Rest Rest; // Problem!...
1717 просмотров
schedule
26.07.2023
Ошибка с шаблоном вариадиака: необходимо расширить пакет параметров
Вот функция шаблона с переменным числом аргументов, которую я написал:
template<class Container, class Value, class... Args>
Value& insert(Container& c, Args&&... args) {
c.emplace_back(args);
return c.back();
}...
16391 просмотров
schedule
07.07.2022