std::equivalence_relation (自 C++20 起)
来自 cppreference.com
定义在头文件 <concepts> 中 |
||
template< class R, class T, class U > concept equivalence_relation = std::relation<R, T, U>; |
(自 C++20 起) | |
概念 equivalence_relation<R, T, U>
指定关系 R
对其参数施加了等价关系。
[编辑] 语义要求
关系 r
是等价关系,如果
- 它是自反的:对于所有
x
,r(x, x)
为 true; - 它是对称的:对于所有
a
和b
,r(a, b)
为 true 当且仅当r(b, a)
为 true; - 它是传递的:
r(a, b) && r(b, c)
蕴含r(a, c)
。
[编辑] 备注
relation
和 equivalence_relation
之间的区别纯粹是语义上的。
[编辑] 参考文献
- C++23 标准 (ISO/IEC 14882:2024)
- 18.7.6 概念
equivalence_relation
[concept.equiv]
- 18.7.6 概念
- C++20 标准 (ISO/IEC 14882:2020)
- 18.7.6 概念
equivalence_relation
[concept.equiv]
- 18.7.6 概念