std::experimental::ranges::tagged_tuple
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/tuple> 中 |
||
template< TaggedType... Types > using tagged_tuple = /* see below */; |
(范围 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 一起使用的标记说明符 (类) |