utils::Slot< T, A1, A2, A3, A4, A5 > Class Template Reference

#include <signal_slot.h>

Inheritance diagram for utils::Slot< T, A1, A2, A3, A4, A5 >:
Inheritance graph
[legend]
Collaboration diagram for utils::Slot< T, A1, A2, A3, A4, A5 >:
Collaboration graph
[legend]

Data Structures

union  Functor

Public Member Functions

 Slot (T *p, Function0 f0)
 Slot (T *p, Function1 f1)
 Slot (T *p, Function2 f2)
 Slot (T *p, Function3 f3)
 Slot (T *p, Function4 f4)
 Slot (T *p, Function5 f5)
 ~Slot ()
void operator() ()
void operator() (A1 arg1)
void operator() (A1 arg1, A2 arg2)
void operator() (A1 arg1, A2 arg2, A3 arg3)
void operator() (A1 arg1, A2 arg2, A3 arg3, A4 arg4)
void operator() (A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5)
bool compare (SlotBase< A1, A2, A3, A4, A5 > *p)

Detailed Description

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
class utils::Slot< T, A1, A2, A3, A4, A5 >

Definition at line 65 of file signal_slot.h.


Constructor & Destructor Documentation

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function0  f0 
) [inline]

Definition at line 78 of file signal_slot.h.

00078 : instance(p) { functor.func0_ = f0; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function1  f1 
) [inline]

Definition at line 79 of file signal_slot.h.

00079 : instance(p) { functor.func1_ = f1; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function2  f2 
) [inline]

Definition at line 80 of file signal_slot.h.

00080 : instance(p) { functor.func2_ = f2; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function3  f3 
) [inline]

Definition at line 81 of file signal_slot.h.

00081 : instance(p) { functor.func3_ = f3; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function4  f4 
) [inline]

Definition at line 82 of file signal_slot.h.

00082 : instance(p) { functor.func4_ = f4; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::Slot ( T *  p,
Function5  f5 
) [inline]

Definition at line 83 of file signal_slot.h.

00083 : instance(p) { functor.func5_ = f5; }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
utils::Slot< T, A1, A2, A3, A4, A5 >::~Slot (  )  [inline]

Definition at line 84 of file signal_slot.h.

00084 {}


Member Function Documentation

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
bool utils::Slot< T, A1, A2, A3, A4, A5 >::compare ( SlotBase< A1, A2, A3, A4, A5 > *  p  )  [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 117 of file signal_slot.h.

00118     { 
00119         // Have to down_cast. Should compare the instance?
00120         SlotPtr ptr = static_cast<SlotPtr>(p);
00121         return  ( functor.func0_ == ptr->functor.func0_ &&
00122                   instance == ptr->instance );
00123     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() ( A1  arg1,
A2  arg2,
A3  arg3,
A4  arg4,
A5  arg5 
) [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 111 of file signal_slot.h.

00112     {
00113         (instance->*(functor.func5_))(arg1, arg2, arg3, arg4, arg5);
00114     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() ( A1  arg1,
A2  arg2,
A3  arg3,
A4  arg4 
) [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 106 of file signal_slot.h.

00107     {
00108         (instance->*(functor.func4_))(arg1, arg2, arg3, arg4);
00109     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() ( A1  arg1,
A2  arg2,
A3  arg3 
) [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 101 of file signal_slot.h.

00102     {
00103         (instance->*(functor.func3_))(arg1, arg2, arg3);
00104     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() ( A1  arg1,
A2  arg2 
) [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 96 of file signal_slot.h.

00097     {
00098         (instance->*(functor.func2_))(arg1, arg2);
00099     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() ( A1  arg1  )  [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 91 of file signal_slot.h.

00092     {
00093         (instance->*(functor.func1_))(arg1);
00094     }

template<class T, typename A1 = UNUSABLE, typename A2 = UNUSABLE, typename A3 = UNUSABLE, typename A4 = UNUSABLE, typename A5 = UNUSABLE>
void utils::Slot< T, A1, A2, A3, A4, A5 >::operator() (  )  [inline, virtual]

Implements utils::SlotBase< A1, A2, A3, A4, A5 >.

Definition at line 86 of file signal_slot.h.

00087     {
00088         (instance->*(functor.func0_))();
00089     }


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208