# std::experimental::ranges::tagged_pair

< cpp‎ | experimental‎ | ranges

定义于头文件 `<experimental/ranges/utility>` |  |
template< ranges::TaggedType T1, ranges::TaggedType T2 > using tagged_pair = /* see below */; |  | (范围 TS)

用于命名包装 std::pair 的 `ranges::tagged` 的便利别名模版。

`TaggedType` 是 `S(T)` 类型函数，其中 `S` 为 `TagSpecifier` 而 `T` 为元素类型。

tagged_pair<S1(T1), S2(T2)> is an alias for 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> 。

### 参阅

TaggedType | 指定类型表示一个标签说明符及其元素类型 (概念)
tagged | 为元组式类型增加具名访问器 (类模板)
make_tagged_pair | 用于创建 `tagged_pair` 的便利函数 (函数模板)
tagged_tuple | 有标签 std::tuple 的别名模版 (别名模板)
make_tagged_tuple | 用于创建 `tagged_tuple` 的便利函数 (函数模板)
in in1 in2 out out1 out2 fun min max begin end | 用于 ranges::tagged 的标签说明符 (类)