命名空间
变体
操作

std::equivalence_relation (自 C++20 起)

来自 cppreference.com
< cpp‎ | concepts
定义在头文件 <concepts>
template< class R, class T, class U >
concept equivalence_relation = std::relation<R, T, U>;
(自 C++20 起)

概念 equivalence_relation<R, T, U> 指定关系 R 对其参数施加了等价关系

[编辑] 语义要求

关系 r 是等价关系,如果

  • 它是自反的:对于所有 xr(x, x)true
  • 它是对称的:对于所有 abr(a, b)true 当且仅当 r(b, a)true
  • 它是传递的:r(a, b) && r(b, c) 蕴含 r(a, c)

[编辑] 备注

relationequivalence_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]