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]
-
18.7.6 Концепт
- Стандарт C++20 (ISO/IEC 14882:2020):
-
-
18.7.6 Концепт
equivalence_relation[concept.equiv]
-
18.7.6 Концепт