std::experimental::ranges::invoke (3) - Linux Manuals
std::experimental::ranges::invoke: std::experimental::ranges::invoke
Command to display std::experimental::ranges::invoke
manual in Linux: $ man 3 std::experimental::ranges::invoke
NAME
std::experimental::ranges::invoke - std::experimental::ranges::invoke
Synopsis
Defined in header <experimental/ranges/functional>
template < class F, class... Args > (ranges TS)
std::result_of_t<F&&(Args&&...)> invoke(F&& f, Args&&... args);
Invoke the Callable object f with the parameters args, and return the result, as if by return INVOKE(std::forward<F>(f), std::forward<Args>(args)...);, where INVOKE(f, t1, t2, ..., tN) is defined as follows:
* if f is a pointer_to_member_function of class T:
* If std::is_base_of<T, std::decay_t<decltype(t1)>>::value is true, then INVOKE(f, t1, t2, ..., tN) is equivalent to (t1.*f)(t2, ..., tN)
* otherwise, INVOKE(f, t1, t2, ..., tN) is equivalent to ((*t1).*f)(t2, ..., tN).
* otherwise, if N == 1 and f is a pointer_to_data_member of class T:
* If std::is_base_of<T, std::decay_t<decltype(t1)>>::value is true, then INVOKE(f, t1) is equivalent to t1.*f
* otherwise, then INVOKE(f, t1) is equivalent to (*t1).*f
* otherwise, INVOKE(f, t1, t2, ..., tN) is equivalent to f(t1, t2, ..., tN) (that is, f is a FunctionObject)
Parameters
f - Callable object to be invoked
args - arguments to pass to f
See also
invoke invokes any Callable object with given arguments
(function template)
(C++17)
Pages related to std::experimental::ranges::invoke
- std::experimental::ranges::indirect_result_of (3) - std::experimental::ranges::indirect_result_of
- std::experimental::ranges::input_iterator_tag, (3) - std::experimental::ranges::input_iterator_tag,
- std::experimental::ranges::identity (3) - std::experimental::ranges::identity
- std::experimental::ranges::is_permutation (3) - std::experimental::ranges::is_permutation
- std::experimental::ranges::is_swappable_with,std::experimental::ranges::is_swappable, (3) - std::experimental::ranges::is_swappable_with,std::experimental::ranges::is_swappable,
- std::experimental::ranges::iterator_category (3) - std::experimental::ranges::iterator_category
- std::experimental::ranges::iterator_t,std::experimental::ranges::sentinel_t (3) - std::experimental::ranges::iterator_t,std::experimental::ranges::sentinel_t
- std::experimental::ranges::Assignable (3) - std::experimental::ranges::Assignable
- std::experimental::ranges::BidirectionalIterator (3) - std::experimental::ranges::BidirectionalIterator
- std::experimental::ranges::BidirectionalRange (3) - std::experimental::ranges::BidirectionalRange
- std::experimental::ranges::Boolean (3) - std::experimental::ranges::Boolean
- std::experimental::ranges::BoundedRange (3) - std::experimental::ranges::BoundedRange
- std::experimental::ranges::Common (3) - std::experimental::ranges::Common
- std::experimental::ranges::CommonReference (3) - std::experimental::ranges::CommonReference
- std::experimental::ranges::Constructible (3) - std::experimental::ranges::Constructible
- std::experimental::ranges::ConvertibleTo (3) - std::experimental::ranges::ConvertibleTo
- std::experimental::ranges::CopyConstructible (3) - std::experimental::ranges::CopyConstructible
- std::experimental::ranges::Copyable (3) - std::experimental::ranges::Copyable
- std::experimental::ranges::DefaultConstructible (3) - std::experimental::ranges::DefaultConstructible
- std::experimental::ranges::DerivedFrom (3) - std::experimental::ranges::DerivedFrom
- std::experimental::ranges::Destructible (3) - std::experimental::ranges::Destructible
- std::experimental::ranges::EqualityComparable, (3) - std::experimental::ranges::EqualityComparable,
- std::experimental::ranges::EqualityComparable,std::experimental::ranges::EqualityComparableWith (3) - std::experimental::ranges::EqualityComparable,std::experimental::ranges::EqualityComparableWith
- std::experimental::ranges::ForwardIterator (3) - std::experimental::ranges::ForwardIterator
- std::experimental::ranges::ForwardRange (3) - std::experimental::ranges::ForwardRange
- std::experimental::ranges::Incrementable (3) - std::experimental::ranges::Incrementable
- std::experimental::ranges::IndirectRelation (3) - std::experimental::ranges::IndirectRelation
- std::experimental::ranges::IndirectStrictWeakOrder (3) - std::experimental::ranges::IndirectStrictWeakOrder
- std::experimental::ranges::IndirectUnaryInvocable, (3) - std::experimental::ranges::IndirectUnaryInvocable,
- std::experimental::ranges::IndirectUnaryInvocable,std::experimental::ranges::IndirectRegularUnaryInvocable (3) - std::experimental::ranges::IndirectUnaryInvocable,std::experimental::ranges::IndirectRegularUnaryInvocable
- std::experimental::ranges::IndirectUnaryPredicate (3) - std::experimental::ranges::IndirectUnaryPredicate