|
libstdc++
|

Public Types | |
| typedef _Res | result_type |
Public Member Functions | |
| function () | |
| function (nullptr_t) | |
| function (const function &__x) | |
| function (function &&__x) | |
| template<typename _Functor > | |
| function (_Functor __f, typename enable_if< !is_integral< _Functor >::value, _Useless >::type=_Useless()) | |
| operator bool () const | |
| _Res | operator() (_ArgTypes...__args) const |
| function & | operator= (const function &__x) |
| function & | operator= (function &&__x) |
| function & | operator= (nullptr_t) |
| template<typename _Functor > | |
| enable_if<!is_integral < _Functor >::value, function & > ::type | operator= (_Functor &&__f) |
| template<typename _Functor > | |
| enable_if<!is_integral < _Functor >::value, function & > ::type | operator= (reference_wrapper< _Functor > __f) |
| void | swap (function &__x) |
| template<typename _Functor > | |
| _Functor * | target () |
| template<typename _Functor > | |
| const _Functor * | target () const |
| const type_info & | target_type () const |
Private Types | |
| typedef bool(* | _Manager_type )(_Any_data &, const _Any_data &, _Manager_operation) |
Private Member Functions | |
| bool | _M_empty () const |
Private Attributes | |
| _Any_data | _M_functor |
| _Manager_type | _M_manager |
Static Private Attributes | |
| static const std::size_t | _M_max_align |
| static const std::size_t | _M_max_size |
Primary class template for std::function.
Polymorphic function wrapper.
Definition at line 1877 of file functional.
|
inline |
Default construct creates an empty function call wrapper.
!(bool)*this Definition at line 1894 of file functional.
|
inline |
Creates an empty function call wrapper.
!(bool)*this Definition at line 1900 of file functional.
| std::function< _Res(_ArgTypes...)>::function | ( | const function< _Res(_ArgTypes...)> & | __x | ) |
Function copy constructor.
| x | A function object with identical call signature. |
(bool)*this == (bool)xThe newly-created function contains a copy of the target of x (if it has one).
Definition at line 2125 of file functional.
|
inline |
Function move constructor.
| x | A function object rvalue with identical call signature. |
The newly-created function contains the target of x (if it has one).
Definition at line 1919 of file functional.
| std::function< _Res(_ArgTypes...)>::function | ( | _Functor | __f, |
| typename enable_if< !is_integral< _Functor >::value, _Useless >::type | = _Useless() |
||
| ) |
Builds a function that targets a copy of the incoming function object.
| f | A function object that is callable with parameters of type T1, T2, ..., TN and returns a value convertible to Res. |
The newly-created function object will target a copy of f. If f is reference_wrapper<F>, then this function object will contain a reference to the function object f.get(). If f is a NULL function pointer or NULL pointer-to-member, the newly-created object will be empty.
If f is a non-NULL function pointer or an object of type reference_wrapper<F>, this function will not throw.
Definition at line 2139 of file functional.
|
inlineexplicit |
Determine if the function wrapper has a target.
true when this function object contains a target, or false when it is empty.This function will not throw an exception.
Definition at line 2074 of file functional.
| _Res std::function< _Res(_ArgTypes...)>::operator() | ( | _ArgTypes... | __args | ) | const |
Invokes the function targeted by *this.
| bad_function_call | when !(bool)*this |
The function call operator invokes the target function object stored by this.
Definition at line 2157 of file functional.
|
inline |
Function assignment operator.
| x | A function with identical call signature. |
(bool)*this == (bool)x *this The target of x is copied to *this. If x has no target, then *this will be empty.
If x targets a function pointer or a reference to a function object, then this operation will not throw an exception.
Definition at line 1961 of file functional.
|
inline |
Function move-assignment operator.
| x | A function rvalue with identical call signature. |
*this The target of x is moved to *this. If x has no target, then *this will be empty.
If x targets a function pointer or a reference to a function object, then this operation will not throw an exception.
Definition at line 1979 of file functional.
|
inline |
Function assignment to zero.
!(bool)*this *this The target of *this is deallocated, leaving it empty.
Definition at line 1993 of file functional.
|
inline |
Function assignment to a new target.
| f | A function object that is callable with parameters of type T1, T2, ..., TN and returns a value convertible to Res. |
*this This function object wrapper will target a copy of f. If f is reference_wrapper<F>, then this function object will contain a reference to the function object f.get(). If f is a NULL function pointer or NULL pointer-to-member, this object will be empty.
If f is a non-NULL function pointer or an object of type reference_wrapper<F>, this function will not throw.
Definition at line 2022 of file functional.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 2031 of file functional.
|
inline |
Swap the targets of two function objects.
| f | A function with identical call signature. |
Swap the targets of this function object and f. This function will not throw an exception.
Definition at line 2046 of file functional.
| _Functor * std::function< _Res(_ArgTypes...)>::target | ( | ) |
Access the stored target function object.
typeid(Functor).equals(target_type()); otherwise, a NULL pointer.This function will not throw an exception.
Definition at line 2184 of file functional.
| const _Functor * std::function< _Res(_ArgTypes...)>::target | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 2203 of file functional.
| const type_info & std::function< _Res(_ArgTypes...)>::target_type | ( | ) | const |
Determine the type of the target of this function object wrapper.
typeid(void) if !(bool)*this.This function will not throw an exception.
Definition at line 2168 of file functional.