Namensräume
Varianten
Aktionen

std::equivalence_relation

Von cppreference.com
< cpp‎ | concepts
 
 
 
Definiert in der Header-Datei <concepts>
template< class R, class T, class U >
concept equivalence_relation = std::relation<R, T, U>;
(seit C++20)

Das Konzept equivalence_relation<R, T, U> gibt an, dass die relation R eine Äquivalenzrelation auf ihren Argumenten definiert.

[bearbeiten] Semantische Anforderungen

Eine Relation r ist eine Äquivalenzrelation, wenn

  • sie reflexiv ist: für alle x ist r(x, x) true;
  • sie symmetrisch ist: für alle a und b ist r(a, b) true genau dann, wenn r(b, a) true;
  • sie transitiv ist: r(a, b) && r(b, c) impliziert r(a, c).

[bearbeiten] Hinweise

Der Unterschied zwischen relation und equivalence_relation ist rein semantisch.

[bearbeiten] Referenzen

  • C++23 Standard (ISO/IEC 14882:2024)
  • 18.7.6 Concept equivalence_relation [concept.equiv]
  • C++20 Standard (ISO/IEC 14882:2020)
  • 18.7.6 Concept equivalence_relation [concept.equiv]