std::function<R(Args...)>::operator() (3) - Linux Manuals
std::function<R(Args...)>::operator(): std::function<R(Args...)>::operator()
NAME
std::function<R(Args...)>::operator() - std::function<R(Args...)>::operator()
Synopsis
R operator()( Args... args ) const; (since C++11)
Invokes the stored callable function target with the parameters args.
Effectively does INVOKE<R>(f, std::forward<Args>(args)...), where f is the target object of *this and INVOKE is the operation described in Callable.
Parameters
args - parameters to pass to the stored callable function target
Return value
None if R is void. Otherwise the return value of the invocation of the stored callable object.
Exceptions
* std::bad_function_call if *this does not store a callable function target, i.e. !*this == true.
Example
The following example shows how std::function can passed to other functions by value. Also, it shows how std::function can store lambdas.
// Run this code
Output:
See also
operator() (public member function of std::reference_wrapper<T>)
bad_function_call the exception thrown when invoking an empty std::function
(C++11)
invoke invokes any Callable object with given arguments
(C++17)