std::function
From Cppreference
< cpp | utility | functional
| C++ Standard Library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Utilities library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Function objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| std::function | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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) |