libsigc++  2.99.5
Public Member Functions | Public Attributes | List of all members
sigc::adaptor_functor< T_functor > Struct Template Reference

Converts an arbitrary functor into an adaptor type. More...

#include <sigc++/adaptors/adaptor_trait.h>

Inheritance diagram for sigc::adaptor_functor< T_functor >:
Inheritance graph
[legend]

Public Member Functions

 adaptor_functor ()=default
 Constructs an invalid functor. More...
 
 adaptor_functor (const T_functor& _A_functor)
 Constructs an adaptor_functor object that wraps the passed functor. More...
 
template<class T_type >
 adaptor_functor (const T_type& _A_type)
 Constructs an adaptor_functor object that wraps the passed (member) function pointer. More...
 
decltype(auto) operator() () const
 Invokes the wrapped functor passing on the arguments. More...
 
template<class... T_arg>
decltype(auto) operator() (T_arg&&..._A_arg) const
 Invokes the wrapped functor passing on the arguments. More...
 

Public Attributes

T_functor functor_
 Functor that is invoked from operator()(). More...
 

Detailed Description

template<class T_functor>
struct sigc::adaptor_functor< T_functor >

Converts an arbitrary functor into an adaptor type.

All adaptor types in libsigc++ have a template operator() member of every argument count they support. These functions in turn invoke a stored adaptor's template operator(), processing the arguments and return value in a characteristic manner. Explicit function template instantiation is used to pass type hints thus saving copy costs.

adaptor_functor is a glue between adaptors and arbitrary functors that just passes on the arguments. You won't use this type directly.

The template argument T_functor determines the type of stored functor.

Constructor & Destructor Documentation

template <class T_functor >
sigc::adaptor_functor< T_functor >::adaptor_functor ( )
default

Constructs an invalid functor.

template <class T_functor >
sigc::adaptor_functor< T_functor >::adaptor_functor ( const T_functor &  _A_functor)
inlineexplicit

Constructs an adaptor_functor object that wraps the passed functor.

Parameters
_A_functorFunctor to invoke from operator()().
template <class T_functor >
template <class T_type >
sigc::adaptor_functor< T_functor >::adaptor_functor ( const T_type &  _A_type)
inlineexplicit

Constructs an adaptor_functor object that wraps the passed (member) function pointer.

Parameters
_A_typePointer to function or class method to invoke from operator()().

Member Function Documentation

template <class T_functor >
decltype(auto) sigc::adaptor_functor< T_functor >::operator() ( ) const
inline

Invokes the wrapped functor passing on the arguments.

Returns
The return value of the functor invocation.
template <class T_functor >
template <class... T_arg>
decltype(auto) sigc::adaptor_functor< T_functor >::operator() ( T_arg &&...  _A_arg) const
inline

Invokes the wrapped functor passing on the arguments.

Parameters
_A_arg...Arguments to be passed on to the functor.
Returns
The return value of the functor invocation.

Member Data Documentation

template <class T_functor >
T_functor sigc::adaptor_functor< T_functor >::functor_
mutable

Functor that is invoked from operator()().