CppDS.com

C++ 98 11 14 17 20 手册

std::experimental::ranges::input_iterator_tag, std::experimental::ranges::output_iterator_tag, std::experimental::ranges::forward_iterator_tag, std::experimental::ranges::bidirectional_iterator_tag, std::experimental::ranges::random_access_iterator_tag

来自cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
概念 (概念 TS)
范围 (范围 TS)
数学特殊函数 (特殊函数 TR)
 
 
迭代器库
迭代器概念
间接可调用概念
                                                  
                                                  
                                                  
常用算法要求
                                                  
概念工具
迭代器工具及运算
迭代器特性
input_iterator_tagoutput_iterator_tagforward_iterator_tagbidirectional_iterator_tagrandom_access_iterator_tag

迭代器适配器
流迭代器
 
定义于头文件 <experimental/ranges/iterator>
struct input_iterator_tag { };
struct output_iterator_tag { };
struct forward_iterator_tag : public input_iterator_tag { };
struct bidirectional_iterator_tag : public forward_iterator_tag { };
struct random_access_iterator_tag : public bidirectional_iterator_tag { };

定义迭代器的类别。每个标签是空类型,且对应五个迭代器类别之一:

迭代器类别标签携带信息,能以之为该类别所隐含的特定要求集选择最有效的算法。然而更好的是基于概念的重载。

对每个 InputIterator 类型 I ,必须定义 ranges::iterator_category_t<I> 为描述该迭代器行为的最特定的类别标签的别名。

示例

参阅

用于指示迭代器类别的空类类型
(类)
汇集迭代器的关联类型的兼容性特性类
(别名模板)
关闭