Namespaces
Variants

std:: equivalence_relation

From cppreference.net
定義先ヘッダ <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]
  • C++20標準 (ISO/IEC 14882:2020):
  • 18.7.6 コンセプト equivalence_relation [concept.equiv]