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