std::experimental::ranges:: tagged_pair
|
Определено в заголовочном файле
<experimental/ranges/utility>
|
||
|
template
<
TaggedType
T1,
TaggedType
T2
>
using tagged_pair = /* см. ниже */ ; |
(ranges TS) | |
Удобный псевдоним шаблона для именования обёртки
ranges::tagged
вокруг
std::pair
.
TaggedType
представляет собой функциональный тип
S(T)
, где
S
является
TagSpecifier
, а
T
- тип элемента.
tagged_pair < S1 ( T1 ) , S2 ( T2 ) > является псевдонимом для ranges:: tagged < std:: pair < T1, T2 > , S1, S2 > .
Примечания
Поскольку тип функции используется для "склеивания" спецификатора тега и соответствующего типа элемента, применяются обычные корректировки типа параметра. В частности, удаляются cv-квалификаторы верхнего уровня и типы массивов преобразуются в указатели: tagged_pair < tag:: in ( const int * const ) , tag:: out ( int [ ] ) > является ranges:: tagged < std:: pair < const int * , int * > , tag:: in , tag:: out > .
Смотрите также
|
указывает, что тип представляет спецификатор тега и его тип элемента
(концепт) |
|
|
расширяет кортежеподобный тип именованными методами доступа
(шаблон класса) |
|
удобная функция для создания
tagged_pair
(шаблон функции) |
|
|
псевдоним шаблона для помеченного
std::tuple
(псевдоним шаблона) |
|
удобная функция для создания
tagged_tuple
(шаблон функции) |
|
|
спецификаторы тегов для использования с
ranges::tagged
(класс) |