标准库标头 <experimental/ranges/range>
来自cppreference.com
                    
                                        
                    < cpp | header | experimental
                    
                                                            
                    此头文件是范围库的一部分。
范围概念
|   在命名空间  
std::experimental::ranges 定义 | |
  指定类型为范围,即它提供 begin 迭代器和 end 哨位 (概念)  | |
|   指定范围以常数时间知晓其大小  (概念)  | |
|   指定范围为视图,即它拥有常数时间的复制/移动/赋值  (概念)  | |
|   指定范围拥有等同的迭代器和哨位类型  (概念)  | |
  指定范围的迭代器满足 InputIterator (概念)  | |
  指定范围的迭代器满足 OutputIterator (概念)  | |
  指定范围的迭代器满足 ForwardIterator (概念)  | |
  指定范围的迭代器满足 BidirectionalIterator (概念)  | |
  指定范围的迭代器满足 RandomAccessIterator (概念)  | |
范围访问
|   在命名空间  
std::experimental::ranges 定义 | |
|   返回指向范围起始的迭代器  (定制点对象)  | |
|   返回指向范围末尾的迭代器  (定制点对象)  | |
|   获得指向范围的逆向迭代器  (定制点对象)  | |
|   获得指向范围的逆向尾迭代器  (定制点对象)  | |
范围原语
|   在命名空间  
std::experimental::ranges 定义 | |
|   获得能在常数时间计算大小的范围的大小  (定制点对象)  | |
|   检查范围是否为空  (定制点对象)  | |
|   获得指向连续范围起始的指针  (定制点对象)  | |
|   获得范围的迭代器类型与哨位类型  (别名模板)  | |
概要
#include <experimental/ranges/iterator> namespace std { namespace experimental { namespace ranges { inline namespace v1 { namespace { constexpr /* 未指明 */ begin = /* 未指明 */; constexpr /* 未指明 */ end = /* 未指明 */; constexpr /* 未指明 */ cbegin = /* 未指明 */; constexpr /* 未指明 */ cend = /* 未指明 */; constexpr /* 未指明 */ rbegin = /* 未指明 */; constexpr /* 未指明 */ rend = /* 未指明 */; constexpr /* 未指明 */ crbegin = /* 未指明 */; constexpr /* 未指明 */ crend = /* 未指明 */; } namespace { constexpr /* 未指明 */ size = /* 未指明 */; constexpr /* 未指明 */ empty = /* 未指明 */; constexpr /* 未指明 */ data = /* 未指明 */; constexpr /* 未指明 */ cdata = /* 未指明 */; } template <class T> using iterator_t = decltype(ranges::begin(declval<T&>())); template <class T> using sentinel_t = decltype(ranges::end(declval<T&>())); template <class> constexpr bool disable_sized_range = false; template <class T> struct enable_view { }; struct view_base { }; template <class T> concept bool Range = /* 见定义 */; template <class T> concept bool SizedRange = /* 见定义 */; template <class T> concept bool View = /* 见定义 */; template <class T> concept bool BoundedRange = /* 见定义 */; template <class T> concept bool InputRange = /* 见定义 */; template <class R, class T> concept bool OutputRange = /* 见定义 */; template <class T> concept bool ForwardRange = /* 见定义 */; template <class T> concept bool BidirectionalRange = /* 见定义 */; template <class T> concept bool RandomAccessRange = /* 见定义 */; }}}}