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) |
指定类型与另一类型相同 (概念) |