范围扩展
来自cppreference.com
< cpp | experimental
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 定义 | |
指定该类型对象能被销毁,且能用一元 & 取其地址 (概念) | |
|