|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||
Defined in header <concepts> | ||
template<class R,class T,class U> concept equivalence_relation=std::relation<R, T, U>; | (since C++20) | |
The conceptequivalence_relation<R, T, U> specifies that therelationR imposes anequivalence relation on its arguments.
A relationr is an equivalence relation if
x,r(x, x) istrue;a andb,r(a, b) istrue if and only ifr(b, a) istrue;r(a, b) && r(b, c) impliesr(a, c).The distinction betweenrelation andequivalence_relation is purely semantic.
equivalence_relation [concept.equiv] equivalence_relation [concept.equiv]