C++ 参考手册

位置:首页 > C++ 参考手册 >迭代器库 > std::indirect_equivalence_relation

concept indirect_equivalence_relation =
  std::indirectly_readable<I1> &&
  std::indirectly_readable<I2> &&
  std::copy_constructible<F> &&
  std::equivalence_relation<F&, std::iter_value_t<I1>&, std::iter_value_t<I2>&> &&
  std::equivalence_relation<F&, std::iter_value_t<I1>&, std::iter_reference_t<I2>> &&
  std::equivalence_relation<F&, std::iter_reference_t<I1>, std::iter_value_t<I2>&> &&
  std::equivalence_relation<F&, std::iter_reference_t<I1>, std::iter_reference_t<I2>> &&

  std::equivalence_relation<F&, std::iter_common_reference_t<I1>, std::iter_common_reference_t<I2>>;
(C++20 起)

概念 indirect_equivalence_relation 指定调用作为其参数的等价关系的算法的要求。此概念与 std::equivalence_relation 间的关键区别是它被应用到 I1I2 所引用的类型,而非 I1I2 自身。

语义要求

FI1I2 实现 indirect_equivalence_relation 仅若其所蕴含的概念均得以实现。