Свързани въпроси 'template-meta-programming'
Съответстващи псевдоними на шаблони като параметри на шаблон на шаблон
В момента пиша метафункция за оценка на изрази, нещо като boost::mpl::apply:
template<typename EXPRESSION , typename... ARGS>
using eval = typename eval_impl<EXPRESSION,ARGS...>::result;
Както можете да видите, използвам C++11...
163 изгледи
schedule
24.09.2022
Как да напиша функция с променлив шаблон в C++, където пакетът с параметри не е последният параметър?
Опитвам се да използвам функция с променлив шаблон, където пакетът с параметри не е последният параметър в списъка. Имайте предвид, че има две рекурсивни извиквания – едното изпуска параметър пред пакета, другото извикване изпуска параметър след...
174 изгледи
schedule
21.09.2022
Проверете дали даден клас има евентуално претоварен оператор за извикване на функция
Чудя се дали би било възможно да се приложи характеристика в C++20 , за да се провери дали тип T е такъв, че има евентуално претоварен/евентуално шаблонен оператор за извикване на функция: operator() .
// Declaration
template <class T>...
84 изгледи
schedule
30.09.2022
Как да правя общи изчисления върху разнородни пакети аргументи на функция с променлив шаблон?
ПРЕДСТАВКА:
След като си поиграх малко с различни шаблони, разбрах, че постигането на нещо, което надхвърля малко тривиалните задачи за мета-програмиране, скоро става доста тромаво. По-конкретно, открих, че желая начин за извършване на общи...
6859 изгледи
schedule
31.10.2023
Как да изведа по време на компилация корена на дърво на наследяване, общо за два типа, ако такова съществува?
Имам проблем, при който трябва да открия общия предшественик на два типа (с един или нула базови класове), ако съществува. Възможно ли е да се изгради черта на типа, за да се реши този проблем? В код:
template<typename T1, typename T2>...
243 изгледи
schedule
25.11.2023
Компактна и проста std::tuple инверсия
Нов съм в мета програмирането. Разгледах други въпроси, които са подобни, но никой от тях не прави това, което наистина искам.
Ето моя опит за обръщане на std::tuple. Основният проблем, който имам, е обръщането на данните във входния кортеж....
588 изгледи
schedule
15.01.2024
Получаване на типа & за вграден и оператор&()?
Редактиране: Отговорът, който маркирах по-долу, не е 100% правилен, всъщност е в коментар: using TPtr = decltype(&std::declval<T&>());
Опитвам се да използвам std::conditional<> , за да получа типа &T , където T...
54 изгледи
schedule
18.11.2023
различни реализации на класове въз основа на параметър на шаблона
Предполагам, че това е тривиално за хора, които познават шаблони...
Да предположим, че искаме две различни реализации на този шаблонен клас, в зависимост от стойността на N:
template <int N>
class Foo {
...
};
Например:...
1264 изгледи
schedule
12.03.2024
По избор публикувайте методи, базирани на различни параметри на шаблона
Предговор
Представете си, че имам шаблон: template<class... Opts> class rqueue , който може да има различни функции, избрани чрез тагове (структури със специални опции), предадени към списъка с параметри, напр.
rqueue<trace_record,...
91 изгледи
schedule
17.03.2024