Spec-Zone.ru › C++

std::indirect_equivalence_relation

Определено в заголовке <iterator>
template< class F, class I1, class I2 = I1 >
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 заключается в том, что она применяется к типам, на которые I1 и I2 ссылаются, а не к I1 и I2 самим по себе.

Семантические требования

F, I1, и I2 моделируют indirect_equivalence_relation только если моделируются все концепции, которые она включает.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/indirect_equivalence_relation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API