std::indirect_strict_weak_order
Определено в заголовочном файле <iterator> | ||
|---|---|---|
template< class F, class I1, class I2 = I1 >
concept indirect_strict_weak_order =
std::indirectly_readable<I1> &&
std::indirectly_readable<I2> &&
std::copy_constructible<F> &&
std::strict_weak_order<F&, std::iter_value_t<I1>&, std::iter_value_t<I2>&> &&
std::strict_weak_order<F&, std::iter_value_t<I1>&, std::iter_reference_t<I2>> &&
std::strict_weak_order<F&, std::iter_reference_t<I1>, std::iter_value_t<I2>&> &&
std::strict_weak_order<F&, std::iter_reference_t<I1>, std::iter_reference_t<I2>> &&
std::strict_weak_order<F&, std::iter_common_reference_t<I1>,
std::iter_common_reference_t<I2>>;
| (с C++20) |
Концепция indirect_strict_weak_order задает требования к алгоритмам, которые используют строгое слабое упорядочение в качестве аргументов. Основное различие между этой концепцией и std::strict_weak_order состоит в том, что она применяется к типам, на которые I1 и I2 ссылаются, а не к самим I1 и I2.
Семантические требования
F, I1, и I2 моделируют indirect_strict_weak_order только в том случае, если моделируются все концепции, которые она включает.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/indirect_strict_weak_order