Вопросы по теме '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 просмотров
schedule
22.05.2022
Частичная специализация шаблона шаблона
есть этот код:
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 просмотров
schedule
19.06.2023
Являются ли параметры шаблона шаблона шаблона расширением или частью стандарта?
Я искал что-то еще, связанное с параметрами шаблона шаблона, и наткнулся на этот ответ , в котором утверждается, что параметры шаблона шаблона не разрешено стандартом.
Однако следующий код компилируется в последней версии 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 просмотров
schedule
15.03.2023
Ошибка VC++ Variadic-Template-Template C2244: невозможно сопоставить определение функции с существующим объявлением
это, вероятно, ошибка новичка, я использую компилятор Microsoft Visual C++, ноябрь 2012 г., и когда я пытаюсь скомпилировать это:
#include <tuple>
class A
{
public:
template <class... Fs, template <class...> class T>...
782 просмотров
schedule
15.05.2022
параметр функции шаблона шаблона
На всю жизнь я не могу заставить работать эту простую часть тайной магии шаблонов:
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 просмотров
schedule
10.03.2023
Шаблон шаблона сопоставления перегрузки функции
Я ожидаю, что последние две строки первого примера кода будут напечатаны одинаково.
Типы вычитаются, как я ожидаю, и разрешение перегрузки также, как я ожидаю. Однако, если я явно ввожу квалификацию вызова функции, я получаю другой результат, чем...
1640 просмотров
schedule
30.11.2022
Частичная специализация по умолчанию для шаблона с несколькими параметрами
Есть ли способ извлечь из компилятора частичную специализацию по умолчанию?
Скажем, у меня есть этот шаблон с двумя параметрами:
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 просмотров
schedule
13.01.2023
шаблон шаблона возвращаемого типа из функции-члена
Как я могу вернуть любой контейнер целых чисел из функции-члена? В следующем коде я пробовал множество перестановок между двумя тестовыми классами, но, похоже, ничего не компилируется с использованием 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 просмотров
schedule
16.04.2023
Метафункция привязки: принимать как типы, так и параметры шаблона шаблона (принимать что угодно)
Я пытаюсь написать вспомогательную метафункцию шаблона метапрограммирования Bind , которая привязывает параметр шаблона к чему-либо.
У меня есть рабочая реализация для простых метафункций шаблона:
template<typename T0, typename T1>...
536 просмотров
schedule
06.11.2022
Получите полное имя аргумента шаблона шаблона с помощью 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 просмотров
schedule
25.07.2023
специализация вариативных шаблонов с помощью шаблонов классов
Вот проблема, с которой я столкнулся, играя с вариативными шаблонами. У меня есть код, который использует специализацию для подсчета "интересных" типов в пакете параметров, например:
template<typename... _Pp>
struct count;...
1756 просмотров
schedule
19.08.2022
Является ли значение параметра шаблона шаблона по умолчанию выведенным из контекста?
Я был действительно удивлен, что и 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 просмотров
schedule
11.09.2022