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) |