Вопросы по теме 'variadic-templates'
Довольно печать std :: tuple
Это продолжение моего предыдущего вопроса о красивых контейнерах STL для что нам удалось разработать очень элегантное и полностью общее решение.
На этом следующем шаге я хотел бы включить красивую печать для std::tuple<Args...> с...
28208 просмотров
schedule
10.07.2022
Моделирование шаблонов с переменным числом аргументов в C#
Есть ли известный способ имитации функции вариативного шаблона в С#?
Например, я хотел бы написать метод, который принимает лямбду с произвольным набором параметров. Вот в псевдокоде, что я хотел бы иметь:
void...
15910 просмотров
schedule
21.09.2022
В чем существенная разница между этими двумя вариативными функциями?
Меня разочаровала простая функция шаблона с переменным числом аргументов:
constexpr size_t num_args () {
return 0;
}
template <typename H, typename... T>
constexpr size_t num_args () {
return 1 + num_args <T...> ();
}
int...
164 просмотров
schedule
21.04.2022
рекурсивный вариативный шаблон для вывода содержимого пакета параметров
Как можно создать рекурсивный вариативный шаблон для вывода содержимого пакета параметров? Я пытаюсь с этим, но он не компилируется:
template <typename First, typename ...Args>
std::string type_name () {
return...
21793 просмотров
schedule
26.10.2022
Как я могу перебирать упакованный список аргументов вариативного шаблона?
Я пытаюсь найти способ перебора списка аргументов вариативного шаблона пакета. Теперь, как и во всех итерациях, вам нужен какой-то способ узнать, сколько аргументов находится в упакованном списке, и, что более важно, как индивидуально получить данные...
61846 просмотров
schedule
11.12.2021
Возможны ли геттеры без шаблонов в вариативных классах контейнеров шаблонов?
Насколько я могу судить, гипотетический класс кортежа шаблона с переменным числом аргументов должен использовать геттеры с параметрами шаблона.
int MyInt = MyTuple.Get<int>(0);
Это неудобно и может привести к ошибке. Я не могу не...
694 просмотров
schedule
27.08.2022
Неоднозначная перегрузка вариативных шаблонов без аргументов
Связанный:
Неоднозначная перегрузка при доступе к шаблонным функциям без аргументов с переменными параметрами
Простая функция шаблона с переменным числом аргументов не может создавать экземпляры
Почему эта вариационная функция...
1863 просмотров
schedule
13.04.2022
Как распаковать вариативный параметр шаблона с числовой последовательностью?
Как (или можно ли) распаковать пакет параметров с числовой последовательностью? Например,
template <typename C, typename... T>
C* init_from_tuple(bp::tuple tpl)
{
return new C{bp::extract<T>("magic"(tpl))...}; // <--
}
до...
2001 просмотров
schedule
10.06.2023
Параметры шаблона шаблона и вариативные шаблоны с gcc 4.4
Я использую gcc 4.4 на сжатии Debian. Рассмотрим следующий код.
#include <map>
#include <string>
using std::map;
using std::string;
// Args lets the user specify additional explicit template arguments
template <typename T,...
7846 просмотров
schedule
22.05.2022
Объединение вариативных шаблонов вместе
Как будет выглядеть X в следующем коде, если он будет преобразован для использования вариативных шаблонов C++11 и должен поддерживать произвольное количество аргументов шаблона?
template<int OFFSET>
struct A { enum O { offset = OFFSET };...
226 просмотров
schedule
22.02.2023
Перебор вариативных аргументов шаблона в обратном порядке
Следующий код работает, если я вручную изменяю порядок переданных ему аргументов шаблона:
template<typename HeadTag, typename... TailTag>
struct Mapped_scope_deep : public Mapped_scope_deep<TailTag...> {
typedef typename...
1464 просмотров
schedule
17.09.2022
Как получить типы аргументов указателя функции в вариативном классе шаблона?
Это продолжение этой проблемы: Универсальный функтор для функций с любым аргументом список
У меня есть этот класс функтора (полный код см. ссылку выше):
template<typename... ARGS>
class Foo
{
std::function<void(ARGS...)> m_f;...
21304 просмотров
schedule
12.05.2022
Как создать декартово произведение списка типов?
Я хотел бы создать перекрестный продукт списка типов, используя вариативные шаблоны.
Вот что у меня есть до сих пор:
#include <iostream>
#include <typeinfo>
#include <cxxabi.h>
template<typename...> struct type_list...
3442 просмотров
schedule
20.05.2023
Передача переменного количества ссылок на массивы в функцию с вариативными шаблонами
Я знаю, как написать вариативную шаблонную функцию, которая принимает переменное количество аргументов:
template<int I, typename... Rest>
void f() {
// whatever
}
и я знаю, как написать шаблонную функцию, которая принимает ссылку на...
519 просмотров
schedule
11.04.2023
С++ 11 вариативный параметр std::function
Функция с именем test принимает std::function<> в качестве параметра.
template<typename R, typename ...A>
void test(std::function<R(A...)> f)
{
// ...
}
Но, если я сделаю следующее:
void foo(int n) { /* ... */ }
//...
21883 просмотров
schedule
28.02.2023
В C++11 … считается оператором?
Мне было интересно, считается ли … оператором в C++11. И если это так, каков его приоритет?
Например, рассмотрим этот довольно плохой пример и предположим, что ... является оператором.
template<typename T, typename...Args>
void foo(T...
186 просмотров
schedule
22.12.2022
Разрешение характеристик типов шаблонов Variadic
Предположим, у меня есть перечисление, и я хочу, чтобы каждое значение перечисления было связано с определенным типом. Скажем, стандартный тип — double, и если я хочу, чтобы он был чем-то другим, мне нужно указать это явно.
В1. Является ли это...
518 просмотров
schedule
27.04.2023
Вариативные шаблоны C ++ 11: значение массива индексов по умолчанию
Вот короткая программа для печати кортежей с использованием кода, адаптированного из ответов Йоханнеса Шауба - litb и Люк Дантон .
#include <iostream>
#include <tuple>
template<int ...>
struct seq { };
template<int N, int...
1113 просмотров
schedule
28.04.2022
Проектирование на основе политик с шаблонами Variadic
У меня есть набор однородных классов политик, которые я хочу передать в качестве политик классу шаблона PolicyDrivenClass, который принимает некоторое неизвестное количество параметров шаблона политики.
Каждая политика реализует функцию «имени», и...
1353 просмотров
schedule
11.07.2023
Получить тип лямбда-параметров в пакете аргументов шаблона
Я часами искал ответ, но ничего не нашел ... Итак, вот моя проблема:
template<typename Signature> struct wrapper; // (1)
template<typename Ret, typename... Args>
struct wrapper<Ret(Args...)> // (2)
{
function static...
525 просмотров
schedule
04.02.2024