type alias для Variadic Arguments или возврат Templates от класса

Андрей Марцинкевич
Андрей Марцинкевич

Допустим есть функция

template <typename Tuple>
void foo(Tuple::Args&&... args)
{
 //DO WITH ARGS.
}


И для нее описан класс SomeTuple:

template<typename Args...>
struct SomeTuple
{
  using... Args = Args;
}

Либо как-то по другому.

Для чего это надо.

А нужно это для возможности агрегатной инициализации и что бы компилятор понимал сразу какие типы мы ожидаем.

foo<SomeTuple<SomeType1, SomeType2>>(/*SomeType 1*/{Param1, Param2}, /*SomeType 2*/{Param3, Param4})

 

 Через make_integer_sequence такое вроде не сделаешь;

0
рейтинг
Нет комментариев
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения