std::indirectly_comparable

From cppreference.com
< cpp‎ | iterator
 
 
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
indirectly_comparable
(C++20)
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Stream iterators
Iterator customization points
Iterator operations
(C++11)
(C++11)
Range access
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
Defined in header <iterator>
template< class I1, class I2, class Comp,

          class Proj1 = std::identity, class Proj2 = std::identity >
concept indirectly_comparable =

    std::indirect_binary_predicate<Comp, std::projected<I1, Proj1>, std::projected<I2, Proj2>>;
(since C++20)

The concept indirectly_comparable specifies the fundamental algorithm requirement for comparing values across two independent ranges.

Semantic requirements

indirectly_comparable is modeled only if all concepts it subsumes are modeled.

See also

specifies that a callable type, when invoked with the result of dereferencing two indirectly_readable types, satisfies predicate
(concept)