范围扩展

来自cppreference.com


C++ 范围扩展 (Extensions for Ranges),ISO/IEC TS 21425:2017 指定对核心语言的一项修改,并为 C++ 标准库定义列于此页面的新组件。

范围 TS 基于带有概念 TS 修改的 C++14 标准。

目录

[编辑] 核心语言更改

范围 TS 修改基于范围的 for 循环规定,以容许不同类型的首和尾迭代器。此更改容许使用哨位,并且已存在于 C++17。

[编辑] 概念

核心语言概念
在命名空间 std::experimental::ranges 定义
指定类型与另一类型相同
(概念) [编辑]
指定该类型从另一类型派生
(概念) [编辑]
指定类型能隐式转换成另一类型
(概念) [编辑]
指定两个类型共有一个公共引用类型
(概念) [编辑]
指定两个类型共有一个公共类型
(概念) [编辑]
指定类型为整型类型
(概念) [编辑]
指定类型为有符号的整型类型
(概念) [编辑]
指定类型为无符号的整型类型
(概念) [编辑]
指定类型可从另一类型赋值
(概念) [编辑]
指定一个类型能进行交换,或两个类型能彼此交换
(概念) [编辑]
比较概念
在命名空间 std::experimental::ranges 定义
指定类型能用于布尔语境
(概念) [编辑]
指定两个类型能用运算符 ==!= 比较相等性
(概念) [编辑]
指定运算符 == 是等价关系
(概念) [编辑]
指定该类型上的比较运算符产出全序
(概念) [编辑]
对象概念
在命名空间 std::experimental::ranges 定义
指定该类型对象能被销毁,且能用一元 & 取其地址
(概念) [编辑]