std::indirect_unary_predicate(3)

NAME
std::indirect_unary_predicate - std::indirect_unary_predicate

Synopsis
   Defined in header <iterator>
   template< class F, class I >
   concept indirect_unary_predicate =
       std::indirectly_readable<I> &&
       std::copy_constructible<F> && (since C++20)
       std::predicate<F&, std::iter_value_t<I>&> &&
       std::predicate<F&, std::iter_reference_t<I>> &&
       std::predicate<F&, std::iter_common_reference_t<I>>;
   The concept indirect_unary_predicate specifies requirements for algorithms that call
   unary predicates as their arguments. The key difference between this concept and
   std::predicate is that it is applied to the type that I references, rather than I
   itself.
   Semantic requirements
   F and I model indirect_unary_predicate only if all concepts it subsumes are modeled.