std::function< _Res(_ArgTypes...)> Class Template Reference

class function More...

Inheritance diagram for std::function< _Res(_ArgTypes...)>:

Inheritance graph

List of all members.

Public Types

Public Member Functions

Private Types

Private Member Functions

Private Attributes

Static Private Attributes


Detailed Description

template<typename _Res, typename... _ArgTypes>
class std::function< _Res(_ArgTypes...)>

class function

Definition at line 1760 of file tr1_impl/functional.


Constructor & Destructor Documentation

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

Default construct creates an empty function call wrapper.

Postcondition:
!(bool)*this

Definition at line 1786 of file tr1_impl/functional.

template<typename _Res , typename... _ArgTypes>
std::function< _Res(_ArgTypes...)>::function ( _M_clear_type *   )  [inline]

Default construct creates an empty function call wrapper.

Postcondition:
!(bool)*this

Definition at line 1792 of file tr1_impl/functional.

template<typename _Res , typename... _ArgTypes>
std::function< _Res(_ArgTypes...)>::function ( const function< _Res(_ArgTypes...)> &  __x  )  [inline]

Function copy constructor.

Parameters:
x A function object with identical call signature.
Precondition:
(bool)*this == (bool)x
The newly-created function contains a copy of the target of x (if it has one).

Definition at line 1982 of file tr1_impl/functional.

template<typename _Res , typename... _ArgTypes>
template<typename _Functor >
std::function< _Res(_ArgTypes...)>::function ( _Functor  __f,
typename __gnu_cxx::__enable_if< !is_integral< _Functor >::value, _Useless >::__type  = _Useless() 
) [inline]

Builds a function that targets a copy of the incoming function object.

Parameters:
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 1996 of file tr1_impl/functional.


Member Function Documentation

template<typename _Res , typename... _ArgTypes>
std::function< _Res(_ArgTypes...)>::operator _Safe_bool (  )  const [inline]

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 1921 of file tr1_impl/functional.

template<typename _Res , typename... _ArgTypes>
_Res std::function< _Res(_ArgTypes...)>::operator() ( _ArgTypes...  __args  )  const [inline]

Invokes the function targeted by *this.

Returns:
the result of the target.
Exceptions:
bad_function_call when !(bool)*this
The function call operator invokes the target function object stored by this.

Definition at line 2014 of file tr1_impl/functional.

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

Function assignment to a new target.

Parameters:
f A 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 1883 of file tr1_impl/functional.

template<typename _Res , typename... _ArgTypes>
function& std::function< _Res(_ArgTypes...)>::operator= ( _M_clear_type *   )  [inline]

Function assignment to zero.

Postcondition:
!(bool)*this
Returns:
*this
The target of *this is deallocated, leaving it empty.

Definition at line 1853 of file tr1_impl/functional.

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

Function assignment operator.

Parameters:
x A 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 1839 of file tr1_impl/functional.

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

Swap the targets of two function objects.

Parameters:
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 1898 of file tr1_impl/functional.


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

Generated on Thu Jul 23 21:17:51 2009 for libstdc++ by  doxygen 1.5.8