Namespaces
Variants

std::experimental::ranges::IndirectUnaryInvocable, std::experimental::ranges::IndirectRegularUnaryInvocable

From cppreference.com
 
 
 
 
Iterators library
Iterator concepts
Indirect callable concepts
                                                  
                                                  
                                                  
Common algorithm requirements
                                                  
Concept utilities
Iterator utilities and operations
Iterator traits
Iterator adaptors
Stream iterators
 
template< class F, class I >
concept bool IndirectUnaryInvocable =
    Readable<I> && CopyConstructible<F> &&
    Invocable<F&, ranges::value_type_t<I>&> &&
    Invocable<F&, ranges::reference_t<I>> &&
    Invocable<F&, ranges::iter_common_reference_t<I>> &&
    CommonReference<
        std::result_of_t<F&(ranges::value_type_t<I>&)>,
        std::result_of_t<F&(ranges::reference_t<I>&&)>>;
(ranges TS)
template< class F, class I >
concept bool IndirectRegularUnaryInvocable =
    Readable<I> && CopyConstructible<F> &&
    RegularInvocable<F&, ranges::value_type_t<I>&> &&
    RegularInvocable<F&, ranges::reference_t<I>> &&
    RegularInvocable<F&, ranges::iter_common_reference_t<I>> &&
    CommonReference<
        std::result_of_t<F&(ranges::value_type_t<I>&)>,
        std::result_of_t<F&(ranges::reference_t<I>&&)>>;
(ranges TS)