Namespaces
Variants

std:: equivalence_relation

From cppreference.net
Definido en el encabezado <concepts>
template < class R, class T, class U >
concept equivalence_relation = std:: relation < R, T, U > ;
(desde C++20)

El concepto equivalence_relation<R, T, U> especifica que la relation R impone una relación de equivalencia sobre sus argumentos.

Requisitos semánticos

Una relación r es una relación de equivalencia si

  • es reflexiva: para todo x , r(x, x) es true ;
  • es simétrica: para todo a y b , r(a, b) es true si y solo si r(b, a) es true ;
  • es transitiva: r(a, b) && r(b, c) implica r(a, c) .

Notas

La distinción entre relation y equivalence_relation es puramente semántica.

Referencias

  • Estándar C++23 (ISO/IEC 14882:2024):
  • 18.7.6 Concepto equivalence_relation [concept.equiv]
  • Estándar C++20 (ISO/IEC 14882:2020):
  • 18.7.6 Concepto equivalence_relation [concept.equiv]