std::experimental::ranges::tagged_pair
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/utility> 中 |
||
template< TaggedType T1, TaggedType T2 > using tagged_pair = /* see below */; |
(范围 TS) | |
为命名包装 std::pair 的 ranges::tagged
提供便利别名模板。
一个 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 的标记说明符 (类) |