Вопросы по теме 'template-templates'

Обертывание класса параметров шаблона шаблона с помощью SWIG
У меня есть класс С++, например: template< template<typename> class ContainerType, typename MemberType> class MyClass { public: MyClass(ContainerType<MemberType>* volData); } который я пытаюсь обернуть с помощью SWIG....
913 просмотров
schedule 26.11.2022

Параметры шаблона шаблона и вариативные шаблоны с 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 просмотров

Частичная специализация шаблона шаблона
есть этот код: template<typename T, template<typename, typename> class OuterCont, template<typename, typename> class InnerCont, class Alloc=std::allocator<T>> class ContProxy { OuterCont<T, InnerCont<T,...
721 просмотров

Являются ли параметры шаблона шаблона шаблона расширением или частью стандарта?
Я искал что-то еще, связанное с параметрами шаблона шаблона, и наткнулся на этот ответ , в котором утверждается, что параметры шаблона шаблона не разрешено стандартом. Однако следующий код компилируется в последней версии clang (3.2) и...
305 просмотров
schedule 29.01.2023

Зачем нужен allocator :: rebind, когда у нас есть параметры шаблона шаблона?
Каждый класс распределителя должен иметь интерфейс, подобный следующему: template<class T> class allocator { ... template<class Other> struct rebind { typedef allocator<Other> other; }; }; А классы, которые...
13686 просмотров

Ошибка VC++ Variadic-Template-Template C2244: невозможно сопоставить определение функции с существующим объявлением
это, вероятно, ошибка новичка, я использую компилятор Microsoft Visual C++, ноябрь 2012 г., и когда я пытаюсь скомпилировать это: #include <tuple> class A { public: template <class... Fs, template <class...> class T>...
782 просмотров

параметр функции шаблона шаблона
На всю жизнь я не могу заставить работать эту простую часть тайной магии шаблонов: template<typename T, int a, int b> int f(T v){ return v*a-b; // just do something for example } template<typename T, int a, int b,...
4560 просмотров

Шаблон шаблона сопоставления перегрузки функции
Я ожидаю, что последние две строки первого примера кода будут напечатаны одинаково. Типы вычитаются, как я ожидаю, и разрешение перегрузки также, как я ожидаю. Однако, если я явно ввожу квалификацию вызова функции, я получаю другой результат, чем...
1640 просмотров

Частичная специализация по умолчанию для шаблона с несколькими параметрами
Есть ли способ извлечь из компилятора частичную специализацию по умолчанию? Скажем, у меня есть этот шаблон с двумя параметрами: template<typename A, typename B> struct X { A a; B b; }; и у меня также есть код, который...
95 просмотров
schedule 27.12.2022

Есть ли причина сделать параметр шаблона шаблона невариативным?
Если я ожидаю, что параметр шаблона шаблона будет иметь один аргумент, я мог бы объявить его следующим образом: template<template<typename> class T> struct S { T<int> t_; //other code here } однако, если позже я...
232 просмотров

шаблон шаблона возвращаемого типа из функции-члена
Как я могу вернуть любой контейнер целых чисел из функции-члена? В следующем коде я пробовал множество перестановок между двумя тестовыми классами, но, похоже, ничего не компилируется с использованием g ++ - 4.8.2: #include "vector" struct test...
237 просмотров
schedule 03.02.2023

Как специализировать шаблон с параметрами template-tempate
Редактировать в конце У меня есть функция, которая принимает шаблон: template <template <typename ...> class P, typename ... Args> void f(const P<Args...> &p) { std::cout << "Template with " <<...
275 просмотров

Метафункция привязки: принимать как типы, так и параметры шаблона шаблона (принимать что угодно)
Я пытаюсь написать вспомогательную метафункцию шаблона метапрограммирования Bind , которая привязывает параметр шаблона к чему-либо. У меня есть рабочая реализация для простых метафункций шаблона: template<typename T0, typename T1>...
536 просмотров

Получите полное имя аргумента шаблона шаблона с помощью libtooling
Я пытаюсь использовать libtooling для печати CXXRecordDecl обоснования класса шаблона с параметром шаблона шаблона. К сожалению, строковое представление параметра шаблона шаблона не является полным (например, отсутствуют пространства имен). Я...
1221 просмотров
schedule 14.07.2023

Как я могу использовать `std::array` для параметра шаблона вида `template‹typename› class`?
Пожалуйста, рассмотрите следующий tree класс template<typename T, template<typename> class Tuple> class tree { private: T m_value; Tuple<tree> m_children; }; template<typename T, std::size_t N> using static_tree...
1370 просмотров
schedule 22.03.2023

Использование параметров шаблона по умолчанию в вариативных параметрах шаблона шаблона
Я обнаружил, что приведенный ниже минимальный пример работает с gcc, clang и даже с Visual Studio, но не компилируется с icc. Я пытаюсь определить, является ли это действительным С++, но я не могу найти соответствующие части стандарта, которые...
675 просмотров

специализация вариативных шаблонов с помощью шаблонов классов
Вот проблема, с которой я столкнулся, играя с вариативными шаблонами. У меня есть код, который использует специализацию для подсчета "интересных" типов в пакете параметров, например: template<typename... _Pp> struct count;...
1756 просмотров

Является ли значение параметра шаблона шаблона по умолчанию выведенным из контекста?
Я был действительно удивлен, что и gcc, и clang принимают этот код: #include <iostream> #include <vector> #include <type_traits> template <class T, template <class, class = T> class TT, class Y> T foo(TT<Y>) {...
143 просмотров
schedule 28.02.2023

Могу ли я как-то раскрыть параметр шаблона шаблона?
Я хотел бы предоставить надлежащий механизм клонирования для различных иерархий классов. Это кажется разумной мыслью, и я собрал базовое решение с использованием CRTP для реализации необходимых функций clone() в производных классах. Я также...
687 просмотров
schedule 09.06.2022

определение типа аргумента функции (контейнер std, например, вектор) не выполняется при использовании enable_if и SFINAE
Кажется, я не могу понять, в чем я ошибаюсь. см. https://ideone.com/WKsZSN Я пытаюсь создать функцию, которая существует только в том случае, если ее аргумент является определенным типом шаблонного класса, предоставляющего typedef для итератора....
228 просмотров