libstdc++
std::function< _Res(_ArgTypes...)> Class Reference
Inheritance diagram for std::function< _Res(_ArgTypes...)>:

List of all members.

Public Types

Public Member Functions

Private Types

Private Member Functions

Private Attributes

Static Private Attributes


Detailed Description

Primary class template for std::function.

Polymorphic function wrapper.


Constructor & Destructor Documentation

std::function< _Res(_ArgTypes...)>::function ( ) [inline]

Default construct creates an empty function call wrapper.

Postcondition:
!(bool)*this

Definition at line 1894 of file functional.

std::function< _Res(_ArgTypes...)>::function ( nullptr_t  ) [inline]

Creates an empty function call wrapper.

Postcondition:
!(bool)*this

Definition at line 1900 of file functional.

std::function< _Res(_ArgTypes...)>::function ( const function< _Res(_ArgTypes...)> &  __x)

Function copy constructor.

Parameters:
xA function object with identical call signature.
Postcondition:
(bool)*this == (bool)x

The newly-created function contains a copy of the target of x (if it has one).

Definition at line 2125 of file functional.

std::function< _Res(_ArgTypes...)>::function ( function< _Res(_ArgTypes...)> &&  __x) [inline]

Function move constructor.

Parameters:
xA 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.

template<typename _Functor >
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.

Parameters:
fA 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.


Member Function Documentation

std::function< _Res(_ArgTypes...)>::operator bool ( ) const [inline, explicit]

Determine if the function wrapper has a target.

Returns:
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.

Returns:
the result of the target.
Exceptions:
bad_function_callwhen !(bool)*this

The function call operator invokes the target function object stored by this.

Definition at line 2157 of file functional.

function& std::function< _Res(_ArgTypes...)>::operator= ( const function< _Res(_ArgTypes...)> &  __x) [inline]

Function assignment operator.

Parameters:
xA function with identical call signature.
Postcondition:
(bool)*this == (bool)x
Returns:
*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.

function& std::function< _Res(_ArgTypes...)>::operator= ( function< _Res(_ArgTypes...)> &&  __x) [inline]

Function move-assignment operator.

Parameters:
xA function rvalue with identical call signature.
Returns:
*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.

function& std::function< _Res(_ArgTypes...)>::operator= ( nullptr_t  ) [inline]

Function assignment to zero.

Postcondition:
!(bool)*this
Returns:
*this

The target of *this is deallocated, leaving it empty.

Definition at line 1993 of file functional.

template<typename _Functor >
enable_if<!is_integral<_Functor>::value, function&>::type std::function< _Res(_ArgTypes...)>::operator= ( _Functor &&  __f) [inline]

Function assignment to a new target.

Parameters:
fA function object that is callable with parameters of type T1, T2, ..., TN and returns a value convertible to Res.
Returns:
*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.

template<typename _Functor >
enable_if<!is_integral<_Functor>::value, function&>::type std::function< _Res(_ArgTypes...)>::operator= ( reference_wrapper< _Functor >  __f) [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.

void std::function< _Res(_ArgTypes...)>::swap ( function< _Res(_ArgTypes...)> &  __x) [inline]

Swap the targets of two function objects.

Parameters:
fA 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.

template<typename _Functor >
_Functor * std::function< _Res(_ArgTypes...)>::target ( )

Access the stored target function object.

Returns:
Returns a pointer to the stored target function object, if typeid(Functor).equals(target_type()); otherwise, a NULL pointer.

This function will not throw an exception.

Definition at line 2184 of file functional.

template<typename _Functor >
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.

Returns:
the type identifier of the target function object, or typeid(void) if !(bool)*this.

This function will not throw an exception.

Definition at line 2168 of file functional.


The documentation for this class was generated from the following file: