std::experimental::ranges::tagged_tuple
来自cppreference.com
< cpp | experimental | ranges
在标头 <experimental/ranges/tuple> 定义
|
||
template< ranges::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 的标签说明符 (类) |