0
ответов

Как работает этот вариадический шаблон?

Я смотрел на этот вопрос SO и не мог понять, как работает ответ. Я выложу копию кода в одном из ответов для справки: template struct seq {}; // Как ...
вопрос задан: 23 May 2017 11:59
0
ответов

Вариативные шаблоны шаблонов и идеальная пересылка

Этот вопрос о шаблоне генератора объектов заставил меня задуматься о способах его автоматизации. По сути, я хочу автоматизировать создание таких функций, как std :: make_pair, std :: bind1st и std :: mem_fun ...
вопрос задан: 23 May 2017 11:54
0
ответов

Частичная специализация шаблона с несколькими пакеты параметров шаблонов

Продолжая свое путешествие в мир вариативных шаблонов, я столкнулся с другой проблемой. Предполагая следующий класс шаблона: template struct foo {// default ...
вопрос задан: 23 May 2017 11:51
0
ответов

Шаблон C++ Variadic AND и OR

Можете ли вы использовать вариативные шаблоны С++ 11 для завершения / *??? */ in :template struct var _и { static bool constexpr value = / *??? */; }; так что значение var _и ::обеспечивает &&...
вопрос задан: 23 May 2017 10:34
0
ответов

использование декларации в шаблоне переменных

Этот вопрос основан на следующем решении псевдо-неоднозначности с перегрузкой множественного наследования, которая является хорошим способом реализации лямбда-посетителей для boost :: variable, как предлагается в этом ответе:
вопрос задан: 23 May 2017 10:31
0
ответов

Неоднозначная перегрузка в вариативных шаблонах без аргументов

Связано: неоднозначная перегрузка при доступе к шаблону без аргументов функции с вариативными параметрами Простая функция вариативного шаблона не может мгновенно активировать Почему эта вариативная функция неоднозначна? ...
вопрос задан: 23 May 2017 10:27
0
ответов

Объединение в цепочку вариативных шаблонов

Как выглядел бы X в следующем коде, если бы он был преобразован для использования вариативных шаблонов C ++ 11 и должен поддерживать произвольное количество аргументов шаблона? Template struct A {enum ...
вопрос задан: 5 July 2016 20:01
0
ответов

Контейнер многомерного массива шаблонов с вариативными шаблонами

В документе с предложением о вариативных шаблонах 0x C ++ Ссылка есть пример класса, который поддерживает произвольное количество Габаритные размеры. Я скопировал его ниже: template
вопрос задан: 1 July 2016 20:56
0
ответов

«распаковка» кортежа для вызова соответствующего указателя функции

Я пытаюсь сохранить в std :: tuple переменное количество значений, которые позже будут использоваться в качестве аргументов для вызова указателя функции, который соответствует сохраненным типам. Я создал упрощенный ...
вопрос задан: 23 May 2016 06:29
0
ответов

Более лаконичный способ использования прокладок в вариативных шаблонах?

Шаблоны C++, как правило, уподобляются создателям раздувания, и идея Shim касается именно этого:, делая шаблон просто тонкой оболочкой над обычной функцией. Это действительно отличный способ сократить...
вопрос задан: 18 May 2016 14:33
0
ответов

Variadic templates

I have seen a lot of links introducing the variadic templates. But I have never seen any compilable example that demonstrates this approach. Could someone provide me with some links in which such ...
вопрос задан: 17 February 2016 12:34
0
ответов

Создать статический массив с вариативными шаблонами

Был ответ по stackoverflow (который я больше не могу найти), который продемонстрировал, как вариативный шаблон может использоваться в C ++ 11 для создания статического массива во время компиляции: template
вопрос задан: 2 April 2015 16:43
0
ответов

Можно ли по умолчанию использовать аргументы функции пакета параметров?

Это тот момент, когда gcc 4.9.2 и clang 3.5.2 находятся в резком разногласии. Программа: шаблон < typename ... Ts > int foo (int i = 0, Ts & amp; ... args) {return i + sizeof ... (Ts); } ...
вопрос задан: 17 March 2015 18:45
0
ответов

Реализация контейнера типа std :: array с C ++ 11 initializer_list

Единственное и очень неудобное предостережение std :: array заключается в том, что он не может вывести его размер из списка инициализаторов, как встроенный в массивах C его размер должен передаваться как шаблон. Возможно ли ...
вопрос задан: 27 February 2015 16:30
0
ответов

Быстрая сортировка во время компиляции с использованием вариабельных шаблонов C ++ 11

Я только что реализовал алгоритм быстрой сортировки, используя вариабельные шаблоны C ++ 11, чтобы оценить его во время компиляции. Тем не менее, я сталкиваюсь с проблемой производительности, когда набор данных слишком велик. #include < ...
вопрос задан: 10 October 2014 01:20
0
ответов

Самый низкий общий предок в линейной линии типов

Введение Предположим, что у нас есть линейная иерархия типов, подобная следующей: Тогда я хочу, чтобы механизм возвращал наименьшего общего предка из произвольного числа типов в этом ...
вопрос задан: 15 September 2014 07:12
0
ответов

Функция с переменным числом аргументов с известными типами, способ C++11

Я уже знаю способ stdarg.h для функции с переменными аргументами в C++, как обсуждалось здесь, например. Я также знаю, что стандарт С++ 11 имеет вариативные шаблоны, как описано здесь. Но в обоих из ...
вопрос задан: 17 August 2014 09:02
0
ответов

Улучшенный макрос LOG () с использованием шаблонного метапрограммирования

Типичное решение для ведения журнала на основе макросов LOG () может выглядеть примерно так: #define LOG (msg) \ std :: cout << __FILE__ << "(" << __LINE__ << "):" << msg << std :: ...
вопрос задан: 8 April 2014 22:53
0
ответов

Объединение строк (и чисел) в функции шаблона

Я пытаюсь написать функцию, которая принимает различные строки или числа (которые работают с std :: to_string и объединяют их. У меня это работает только со строками, но у меня возникают проблемы с ...
вопрос задан: 16 February 2014 02:34
0
ответов

Как я могу перебирать упакованный список аргументов вариативного шаблона?

Я пытаюсь найти метод для перебора упакованного списка аргументов вариативного шаблона. Теперь, как и во всех итерациях, вам нужен какой-то способ узнать, сколько аргументов находится в упакованном списке, ...
вопрос задан: 24 November 2013 01:07
0
ответов

Что означает токен «……»? т.е. оператор двойного многоточия в пакете параметров

Просматривая текущую реализацию gcc новых заголовков C ++ 11, я наткнулся на токен «......». Вы можете проверить, что следующий код компилируется нормально [через ideone.com]. template
вопрос задан: 20 October 2013 17:20
0
ответов

Проектирование на основе политик с вариационными шаблонами

У меня есть набор однородных классов политик, которые я хочу передать в качестве политик классу шаблонов, PolicyDrivenClass, который принимает неизвестное количество параметры шаблона политики. Каждая политика...
вопрос задан: 19 September 2013 19:52
0
ответов

C2977: 'std :: tuple': слишком много аргументов шаблона (MSVC11)

Я пытаюсь создать googletest с помощью Visual C ++ 11, но следующий код вызывает ошибку template
вопрос задан: 3 July 2013 07:33
0
ответов

Вызов функции для каждого вариативного аргумента шаблона и массива

Итак, у меня есть тип X :typedef... X; и шаблонная функция f :class void f (X& x _out, const T& arg _in ); а затем функция g :void g (const X *x _array, size _t...
вопрос задан: 1 May 2013 16:48
0
ответов

Пакет параметров вариативного шаблона расширяется для вызовов функций

Я ищу для чего-то вроде этого: template void func (T t) { } template void anyFunc (Parms ... p) {func (p) ...; // ошибка ...
вопрос задан: 26 April 2013 16:46
0
ответов

прослушать изменения буфера обмена, проверить владельца?

Я хочу получать уведомление, если строка копируется в системный буфер обмена. Когда новая строка копируется из того же исходного приложения, FlavorListener не получает события. Чтобы получить информацию, когда другой ...
вопрос задан: 19 April 2013 22:06
0
ответов

Проверка во время компиляции, если аргумент шаблона недействителен

Я пытаюсь обернуть функции API Windows для проверки ошибок, когда я этого захочу. Как я выяснил в предыдущем SO-вопросе, я мог бы использовать шаблонную функцию для вызова функции API, а затем вызывать...
вопрос задан: 13 April 2013 20:52
0
ответов

Использовать заключенные в скобки -списки инициализаторов в вариативном шаблоне?

Я пытаюсь использовать заключенные в скобки -списки инициализаторов в функции шаблона с переменным числом аргументов, но компилятор жалуется... я слишком много прошу или я сделал что-то не так? Лучше всего это демонстрирует...
вопрос задан: 19 February 2013 20:22
0
ответов

Может ли X x (t ...) когда-либо приводить к объявлению функции с неприятным анализом?

Я писал шаблон функции как шаблон void f (T ... t) {X x (t ...); // ...} Когда я смотрел на это, мне было интересно, что происходит для вызова f (). Будет досадно разбирать ...
вопрос задан: 23 October 2012 07:55
0
ответов

Соответствует ли пустое расширение пакета значений пакету типов или необязательному параметру типа?

Я только что пытался взломать бинарный литеральный оператор ""_b, но застрял, пытаясь завершить рекурсию. Как определить функцию, которую можно вызвать с использованием пустого явного параметра шаблона...
вопрос задан: 5 October 2012 18:14