std::incrementable
来自 cppreference.cn
< cpp | 迭代器 (iterator)
| 定义于头文件 <iterator> |
||
| template< class I > concept incrementable = |
(C++20 起) | |
此概念指定了可以通过前增量和后增量运算符递增的类型的要求,其递增操作是等价保留的,并且类型是std::equality_comparable。
与仅支持单程算法的std::weakly_incrementable不同,建模std::incrementable的类型可以使用多程单向算法。
[编辑] 语义要求
I 建模 std::incrementable 仅当给定两个类型为 I 的可递增对象 a 和 b 时
- bool(a == b) 蕴含 bool(a++ == b),且
- bool(a == b) 蕴含 bool(((void)a++, a) == ++b)。
[编辑] 等价保留
标准库概念的requires 表达式中声明的表达式要求是等价保留的(另有说明除外)。
[编辑] 参阅
| (C++20) |
指定一个semiregular类型可以使用前置和后置增量运算符进行增量操作(概念) |
| (C++20) |
指定类型与另一类型相同 (概念) |