std::experimental::ranges:: tagged_tuple
|
Определено в заголовочном файле
<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
(класс) |