libsigc++: 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 >:

Public Member Functions

 adaptor_functor ()=default
 Constructs an invalid functor. More...

 
 adaptor_functor (const T_functor& functor)
 Constructs an adaptor_functor object that wraps the passed functor. More...

 
template<typename T_type >
 adaptor_functor (const T_type& 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<typename... T_arg>
decltype(auto) operator() (T_arg&&...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<typename 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 <typename T_functor >
sigc::adaptor_functor< T_functor >::adaptor_functor ( )
default

Constructs an invalid functor.

template <typename T_functor >
sigc::adaptor_functor< T_functor >::adaptor_functor ( const T_functor &  functor)
inlineexplicit

Constructs an adaptor_functor object that wraps the passed functor.

Parameters
functorFunctor to invoke from operator()().
template <typename T_functor >
template <typename T_type >
sigc::adaptor_functor< T_functor >::adaptor_functor ( const T_type &  type)
inlineexplicit

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

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

Member Function Documentation

template <typename 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 <typename T_functor >
template <typename... T_arg>
decltype(auto) sigc::adaptor_functor< T_functor >::operator() ( T_arg &&...  arg) const
inline

Invokes the wrapped functor passing on the arguments.

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

Member Data Documentation

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

Functor that is invoked from operator()().