std::function
From cppreference.com
< cpp | utility | functional
Defined in header <functional>
|
||
template< class > class function; /* undefined */ |
(since C++11) | |
template< class R, class... Args > class function<R(Args...)> |
(since C++11) | |
Class template std::function is a general-purpose polymorphic function wrapper. Instances of std::function can store, copy, and invoke any callable target -- functions, lambda expressions, bind expressions, or other function objects.
Contents |
[edit] Member types
Type | Definition |
result_type | R |
argument_type | T if sizeof...(Args)==1 and T is the first and only type in Args... |
first_argument_type | T1 if sizeof...(Args)==2 and T1 is the first of the two types in Args... |
second_argument_type | T2 if sizeof...(Args)==2 and T2 is the second of the two types in Args... |
[edit] Member functions
constructs a new std::function instance (public member function) | |
destroys a std::function instance (public member function) | |
assigns the contents (public member function) | |
swaps the contents (public member function) | |
assigns a new target (public member function) | |
checks if a valid target is contained (public member function) | |
invokes the target (public member function) | |
Target access | |
obtains the typeid of the stored target of an std::function (public member function) | |
obtains a pointer to the stored target of an std::function (public member function) |
[edit] Non-member functions
(C++11) |
specializes the std::swap algorithm (function template) |
compares an std::function with std::nullptr (function template) |
[edit] Helper classes
specializes the std::uses_allocator type trait (class template specialization) |
[edit] See also
(C++11) |
the exception thrown when invoking an empty std::function (class) |
(C++11) |
binds an object to a pointer to its member function to form independent function object (function template) |