Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2016, 09:09   #1
Hans
 
Регистрация: 25.05.2009
Сообщений: 4
Вопрос Шаблоны с переменным числом аргументов

Здравствуйте коллеги.
Хочу немного заморочить голову. Представьте, что есть такой шаблонный класс:
Код:
template<class... T>
struct Q;
//И его специализация
template<template<int> class... T, int v>
struct Q < T<v>... > {};
То есть класс Q принимает переменное число различных шаблонных типов имеющих одинаковую структуру шаблона T<int> с одинаковым v

например:
Код:
Q< T1<1>, T2<1>, T1<1> > q;
А если нам нужно принять различные типы T с разными v:
Код:
template<template<int> class... T, int... v>
struct Q < T<v>... > {
    int list[sizeof...(v)] = {v...};
};
Удивительно, но получается, что для каждого T есть свой v, который можно пощупать:
Код:
Q< T1<1>, T2<2>, T1<3> > q;
list будет содержать значения 1, 2, 3.

Следующий вариант, где каждый тип T основан на нескольких аргументах:
Код:
template<template<int...> class... T, int... v>
struct Q < T<v...>... > {
    int list[sizeof...(v)] = {v...};
};
Q< T1<1, 2, 3>, T2<1, 2, 3>, T1<1, 2, 3> > q;
Здесь T разные, но списки v в них одинаковые
list будет содержать значения 1, 2, 3

А теперь главный вопрос, как сделать специализацию, где для каждого T будет свой список v?
Код:
template<template<int...> class... T, int ...(...v)>
struct Q < T<v...>... > {};
К сожалению компилятор ругается
Hans вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отчёт с переменным числом столбцов Baz665 Microsoft Office Access 7 06.11.2012 01:15
Метод с переменным количеством аргументов Mixim C# (си шарп) 5 19.07.2011 14:17
Функция с переменным числом параметров С++ [CODER] Помощь студентам 3 22.03.2010 03:58
Функции с переменным числом параметров Matr1x Общие вопросы C/C++ 2 07.01.2010 16:55