std::experimental::ranges::tagged_tuple

来自cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
 
 
通用工具库
工具组件
函数对象
元编程与类型特性
有标签的 pair 与 tuple
                          
标签说明符
                                      
                          
tagged_tuple
 
在标头 <experimental/ranges/tuple> 定义
template< ranges::TaggedType... Types >
using tagged_tuple = /* see below */;
(范围 TS)

用于命名包装 std::tupleranges::tagged 的便利别名模板。

TaggedType 是函数类型 S(T) ,其中 STagSpecifierT 是元素类型。

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 的标签说明符
(类)