logo top
Main Page   Groups   Namespaces  

sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > Class Template Reference
[Slots]

Convenience wrapper for the numbered sigc::slot# templates. More...

Inheritance diagram for sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef slot7< T_return, T_arg1,
T_arg2, T_arg3, T_arg4, T_arg5,
T_arg6, T_arg7 > 
parent_type

Public Member Functions

 slot ()
template<class T_functor>
 slot (const T_functor& _A_func)
 Constructs a slot from an arbitrary functor.
 slot (const slot& src)

Detailed Description

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
class sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >

Convenience wrapper for the numbered sigc::slot# templates.

Slots convert arbitrary functors to unified types which are opaque. sigc::slot itself is a functor or to be more precise a closure. It contains a single, arbitrary functor (or closure) that is executed in operator()().

The template arguments determine the function signature of operator()():

To use simply assign the slot to the desired functor. If the functor is not compatible with the parameter list defined with the template arguments compiler errors are triggered. When called the slot will invoke the functor with minimal copies. block() and unblock() can be used to block the functor's invocation from operator()() temporarily.

Example:
   void foo(int) {}
   sigc::slot<void, long> s = sigc::ptr_fun(&foo);
   s(19);


Member Typedef Documentation

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
typedef slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::parent_type


Constructor & Destructor Documentation

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::slot (  )  [inline]

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
template <class T_functor>
sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::slot ( const T_functor &  _A_func  )  [inline]

Constructs a slot from an arbitrary functor.

Parameters:
_A_func The desirer functor the new slot should be assigned to.

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
sigc::slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>::slot ( const slot<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>&  src  )  [inline]


The documentation for this class was generated from the following file:
Generated for libsigc++ 2.0 by Doxygen 1.5.1 © 1997-2001