std:: equivalence_relation
From cppreference.net
C++
Concepts library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||
|
定义于头文件
<concepts>
|
||
|
template
<
class
R,
class
T,
class
U
>
concept equivalence_relation = std:: relation < R, T, U > ; |
(C++20 起) | |
概念
equivalence_relation<R, T, U>
规定
relation
R
在其参数上施加了一个
等价关系
。
语义要求
关系
r
是等价关系当且仅当
-
它是自反的:对于所有
x,r(x, x)为 true ; -
它是对称的:对于所有
a和b,当且仅当r(b, a)为 true 时,r(a, b)才为 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 概念