Описание тега template-templates
Often used to refer to a template parameter that is itself a template.
3
ответа
Использование имен аргументов параметров шаблона шаблона
В коде template < template<class TTP> class TP > ... // whatever является TTP тогда можно использовать где угодно? Не могу найти ссылку на то, что происходит с этими именами в Стандарте.
15 фев '15 в 12:31
0
ответов
Поддерживаются ли параметры шаблона шаблона для функции в новых стандартах C++?
Я нашел следующее утверждение в книге Шаблон C++: Полное руководство: Параметры шаблона шаблона для шаблонов функций не допускаются. Но он следующий кусок кода компилирует и запускает для меня. template< typename T, template <typename elem,typ…
02 янв '14 в 05:16
2
ответа
Почему самый простой шаблон-шаблон не может быть скомпилирован?
Следующий код не может быть скомпилирован с VC++ 2013 CTP. template <template <class> A, class B> void f(A<B>) {} Вывод таков: error C2988: unrecognizable template declaration/definition error C2059: syntax error : '<L_TEMPLATED…
17 фев '14 в 08:10
2
ответа
C++ шаблон шаблона нетипичный параметр
Я пытаюсь добиться следующего: template<template<typename> bool Function_, typename ... Types_> constexpr auto find(Tuple<Types_ ... >) noexcept { // ... } где возможная функция может быть: template<typename T> inline constex…
12 июл '17 в 04:09
1
ответ
Шаблон C++ Template для модульного тестирования
Я экспериментирую с использованием возможностей шаблонных шаблонов C++, чтобы уменьшить дублирование кода в небольшом сегменте модульных тестов в моем коде, но безуспешно. Я видел эти ответы на похожие вопросы, но все еще не могу понять, что говорит…
23 окт '18 в 21:55
1
ответ
Ссылаясь на шаблонную функцию в шаблоне
Я хотел бы иметь возможность назвать шаблонной функции в шаблоне. Поскольку можно назвать шаблонный класс с использованием синтаксиса "шаблон шаблона", а поскольку можно назвать функцию с использованием синтаксиса "указатель функции", мне было интер…
14 мар '16 в 10:46
2
ответа
Пересылка ссылок и шаблонов
Рассмотрим эти две функции шаблона: template<typename T> void foo(T&& bar) { // do stuff with bar, which may or may not be an instance of a templated class } template<typename U, template<typename> class T> void foo(T<U&…
27 фев '16 в 05:52
2
ответа
Функциональный C++ через злоупотребление шаблоном
Я решил попытаться написать реализацию функциональной карты на C++ с использованием шаблонов, и вот что я придумал: template < class U, class V, template <class> class T > class T<V> WugMap( class T<U>::const_iterator first, …
16 окт '12 в 18:11
1
ответ
Является ли значение параметра шаблона шаблона по умолчанию выводимым контекстом?
Я был действительно удивлен, что и gcc, и clang принимают этот код: #include <iostream> #include <vector> #include <type_traits> template <class T, template <class, class = T> class TT, class Y> T foo(TT<Y>) { } i…
07 дек '16 в 20:44
1
ответ
Когда параметры шаблона шаблона стали частью стандарта?
Я понимаю из Раздела 1.5.2 Modern C++ Design, что параметры шаблона шаблона не были широко поддержаны компиляторами во время написания книги. Когда эта функция стала частью стандарта?
09 авг '15 в 10:03
2
ответа
Как извлечь шаблонный класс шаблона из boost::enable_shared_from_this?
Как можно извлечь класс шаблона с шаблонным типом из boost::enable_shared_from_this? template<template<class T> class Container> class Myclass : public boost::enable_shared_from_this<?> { }; Это не компилируется: template<templa…
12 июл '13 в 11:32
1
ответ
Странный параметр шаблона шаблона, ожидаемая ошибка
При попытке скомпилировать этот кусок кода: template <class URNG> struct Dumb : Brain<Dumb, URNG> { Move operator()(const Rat<Dumb, URNG>& rat, URNG&& urng) { Move move; move.x = 1; move.y = 0; //rat.look(1, 2); //rat.g…
24 янв '15 в 14:38
1
ответ
Как применить ограничения между шаблоном и параметрами шаблона в C++17
У меня есть следующий код, который компилируется (GCC7, C++17): template<typename T> struct NDArrayHostAllocatorNew { static T* allocate(std::size_t size) { return new T[size]; } static void deallocate(const T* ptr){ delete [] ptr; } }; templa…
13 окт '17 в 06:16
2
ответа
Шаблон переменной шаблона?
Допустим, у вас есть тип кортежа, и вы хотите извлечь его пакет параметров шаблона, чтобы создать экземпляр другого шаблона. Если это шаблон типа, то у меня может быть такая утилита: template < typename Tuple, template <typename...> typenam…
23 окт '16 в 08:29
2
ответа
Шаблон, содержащий итераторы коллекции std
Этот шаблон может хранить векторные итераторы определенного типа. template<typename T> struct foo { typedef typename std::vector<T>::iterator it; std::vector<it> m_collection; }; Как сделать шаблон более универсальным и поддерживат…
08 янв '19 в 21:02
2
ответа
Псевдоним шаблона C++11 в качестве аргумента шаблона шаблона приводит к другому типу?
Мы наблюдали странное поведение при компиляции следующего исходного кода: template<template<class> class TT> struct X { }; template<class> struct Y { }; template<class T> using Z = Y<T>; int main() { X<Y> y; X<…
11 окт '13 в 09:04
2
ответа
Используйте std::tuple для списка параметров шаблона вместо списка типов
Я пытаюсь сделать вызов шаблонной функции, как это: typedef std::tuple<int, double, bool> InstrumentTuple; Cache cache; InstrumentTuple tuple = cache.get<InstrumentTuple>(); Я знаю, что могу "просто" передать типы кортежей. Это то, что я…
11 мар '13 в 09:12
4
ответа
Шаблон перегрузки соответствия шаблон
Я ожидаю, что последние две строки первого примера кода будут печататься одинаково. Типы вычитаются так, как я ожидаю, и разрешение перегрузки также соответствует ожиданиям. Однако, если я явно набираю квалификацию вызова функции, тогда я получаю др…
02 сен '13 в 04:06
3
ответа
Функция шаблона для получения общей карты в качестве параметра
Там может быть много случаев, когда мы хотим выполнить какую-то операцию на std::map или std::unordered_map это точно так же, независимо от типа карты. Давайте рассмотрим следующий пример: #include <map> #include <unordered_map> #include…
09 авг '17 в 21:48
1
ответ
Ошибка удержания параметров шаблона аргумента шаблона шаблона
У меня возникают проблемы при написании элементов шаблона не шаблонного класса, особенно при выводе параметров шаблона аргумента шаблона шаблона. Следующий код, минимальный, иллюстрирует мою проблему. Я подозреваю, что там как минимум две разные про…
25 июн '18 в 06:33