std::experimental::ranges::tagged_tuple
来自 cppreference.cn
< cpp | experimental | ranges
定义于头文件 <experimental/ranges/tuple> |
||
template< TaggedType... Types > using tagged_tuple = /* 见下文 */; |
(ranges TS) | |
用于命名封装 std::tuple 的 ranges::tagged
的便捷别名模板。
一个 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>。
[编辑] 参阅
指定类型表示标签指定符及其元素类型 (概念) | |
使用命名访问器增强类元组类型 (类模板) | |
带标签的 std::pair 的别名模板 (别名模板) | |
用于创建 tagged_pair 的便捷函数(函数模板) | |
用于创建 tagged_tuple 的便捷函数(函数模板) | |
用于 ranges::tagged 的标签指定符 (类) |