Namespaces
Variants

std::experimental::ranges:: tagged_tuple

From cppreference.net
Определено в заголовочном файле <experimental/ranges/tuple>
template < TaggedType ... Types >
using tagged_tuple = /* см. ниже */ ;
(ranges TS)

Удобный псевдоним-шаблон для именования обёртки ranges::tagged вокруг std::tuple .

TaggedType представляет собой функциональный тип S(T) , где S является TagSpecifier , а T — тип элемента.

tagged_tuple < S1 ( T1 ) , ..., SN ( TN ) > является псевдонимом для ranges:: tagged < std:: tuple < T1, ..., TN > , S1, ..., SN > .

Примечания

Поскольку тип функции используется для "склеивания" спецификатора тега и соответствующего типа элемента, применяются обычные корректировки типа параметра. В частности, удаляются cv-квалификаторы верхнего уровня и типы массивов преобразуются в указатели: tagged_tuple < tag:: in ( const int * const ) , tag:: out ( int [ ] ) > эквивалентно ranges:: tagged < std:: tuple < const int * , int * > , tag:: in , tag:: out > .

Смотрите также

указывает, что тип представляет спецификатор тега и его тип элемента
(концепт)
расширяет кортежеподобный тип именованными методами доступа
(шаблон класса)
псевдоним шаблона для tagged std::pair
(псевдоним шаблона)
удобная функция для создания tagged_pair
(шаблон функции)
удобная функция для создания tagged_tuple
(шаблон функции)
спецификаторы тегов для использования с ranges::tagged
(класс)