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(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 コンセプト