|
libstdc++
|
#include <std_function.h>
Public Types | |
| typedef _Res | result_type |
Public Member Functions | |
| function () noexcept | |
| template<typename _Functor , typename _Constraints = _Requires<_Callable<_Functor>>> | |
| function (_Functor &&__f) noexcept(_Handler< _Functor >::template _S_nothrow_init< _Functor >()) | |
| function (const function &__x) | |
| function (function &&__x) noexcept | |
| function (nullptr_t) noexcept | |
| operator bool () const noexcept | |
| _Res | operator() (_ArgTypes... __args) const |
| template<typename _Functor > | |
| _Requires< _Callable< _Functor >, function & > | operator= (_Functor &&__f) noexcept(_Handler< _Functor >::template _S_nothrow_init< _Functor >()) |
| function & | operator= (const function &__x) |
| function & | operator= (function &&__x) noexcept |
| function & | operator= (nullptr_t) noexcept |
| template<typename _Functor > | |
| function & | operator= (reference_wrapper< _Functor > __f) noexcept |
| void | swap (function &__x) noexcept |
| const type_info & | target_type () const noexcept |
| template<typename _Functor > | |
| _Functor * | target () noexcept |
| template<typename _Functor > | |
| const _Functor * | target () const noexcept |
Polymorphic function wrapper.
Definition at line 334 of file std_function.h.
| typedef _Res std::function< _Res(_ArgTypes...)>::result_type |
Definition at line 360 of file std_function.h.
|
inlinenoexcept |
Default construct creates an empty function call wrapper.
!(bool)*this Definition at line 368 of file std_function.h.
|
inlinenoexcept |
Creates an empty function call wrapper.
!(bool)*this Definition at line 375 of file std_function.h.
|
inline |
Function copy constructor.
| __x | A function object with identical call signature. |
bool(*this) == bool(__x)The newly-created function contains a copy of the target of __x (if it has one).
Definition at line 386 of file std_function.h.
|
inlinenoexcept |
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 404 of file std_function.h.
|
inlinenoexcept |
Builds a function that targets a copy of the incoming function object.
| __f | A function object that is callable with parameters of type ArgTypes... 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, null pointer-to-member, or empty std::function, 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 435 of file std_function.h.
|
inlineexplicitnoexcept |
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 exceptions.
Definition at line 573 of file std_function.h.
|
inline |
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 587 of file std_function.h.
|
inlinenoexcept |
Function assignment to a new target.
| __f | A function object that is callable with parameters of type _ArgTypes... 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 531 of file std_function.h.
|
inline |
Function assignment operator.
| __x | A function with identical call signature. |
(bool)*this == (bool)x *thisThe 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 469 of file std_function.h.
|
inlinenoexcept |
Function move-assignment operator.
| __x | A function rvalue with identical call signature. |
*thisThe 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 487 of file std_function.h.
References std::move().
|
inlinenoexcept |
Function assignment to empty.
!(bool)*this *thisThe target of *this is deallocated, leaving it empty.
Definition at line 501 of file std_function.h.
|
inlinenoexcept |
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 541 of file std_function.h.
|
inlinenoexcept |
Swap the targets of two function objects.
| __x | A function with identical call signature. |
Swap the targets of this function object and __f. This function will not throw exceptions.
Definition at line 556 of file std_function.h.
References std::swap().
|
inlinenoexcept |
Access the stored target function object.
typeid(_Functor).equals(target_type()); otherwise, a null pointer.This function does not throw exceptions.
Definition at line 643 of file std_function.h.
|
inlinenoexcept |
Access the stored target function object.
typeid(_Functor).equals(target_type()); otherwise, a null pointer.This function does not throw exceptions.
Definition at line 632 of file std_function.h.
|
inlinenoexcept |
Determine the type of the target of this function object wrapper.
typeid(void) if !(bool)*this.This function will not throw exceptions.
Definition at line 606 of file std_function.h.