Spec-Zone.ru › C++

std::indirect_binary_predicate

Определено в заголовке <iterator>
template< class F, class I1, class I2 >
concept indirect_binary_predicate =
    std::indirectly_readable<I1> &&
    std::indirectly_readable<I2> &&
    std::copy_constructible<F> &&
    std::predicate<F&, std::iter_value_t<I1>&, std::iter_value_t<I2>&> &&
    std::predicate<F&, std::iter_value_t<I1>&, std::iter_reference_t<I2>> &&
    std::predicate<F&, std::iter_reference_t<I1>, std::iter_value_t<I2>&> &&
    std::predicate<F&, std::iter_reference_t<I1>, std::iter_reference_t<I2>> &&
    std::predicate<F&, std::iter_common_reference_t<I1>, std::iter_common_reference_t<I2>>;
(с C++20)

Концепция indirect_binary_predicate определяет требования к алгоритмам, которые используют бинарные предикаты в качестве аргументов. Ключевое отличие этой концепции от std::predicate заключается в том, что она применяется к типам, на которые I1 и I2 ссылаются, а не к самим I1 и I2.

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

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

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

Spec-Zone.ru

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