std::可递增
来自 cppreference.com
在头文件 <iterator> 中定义 |
||
template< class I > concept 可递增 = |
(自 C++20) | |
此概念指定了对可以被前缀和后缀递增运算符递增的类型要求,这些类型的递增操作是等价保持的,并且该类型是std::equality_comparable。
与std::weakly_incrementable不同,后者仅支持单遍算法,多遍单向算法可以与建模std::可递增
的类型一起使用。
[编辑] 语义要求
I
仅在给定任何两个可递增对象 a
和 b
类型为 I
时才建模std::可递增
- bool(a == b) 意味着 bool(a++ == b),以及
- bool(a == b) 意味着 bool(((void)a++, a) == ++b).
[编辑] 等价保持
在标准库概念的requires 表达式中声明的表达式需要是等价保持的(除非另有说明)。
[编辑] 参见
(C++20) |
指定semiregular 类型可以使用前缀和后缀递增运算符递增(概念) |
(C++20) |
指定类型与另一种类型相同 (概念) |