CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > Class Template Reference

#include <Delegate.h>

List of all members.

Public Types

typedef FastDelegate6 type

Public Member Functions

 FastDelegate6 ()
 FastDelegate6 (const FastDelegate6 &x)
void operator= (const FastDelegate6 &x)
bool operator== (const FastDelegate6 &x) const
bool operator!= (const FastDelegate6 &x) const
bool operator< (const FastDelegate6 &x) const
bool operator> (const FastDelegate6 &x) const
template<class X, class Y>
 FastDelegate6 (Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6))
template<class X, class Y>
void Bind (Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6))
template<class X, class Y>
 FastDelegate6 (const Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const)
template<class X, class Y>
void Bind (const Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const)
 FastDelegate6 (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6))
void operator= (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6))
void Bind (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6))
RetType operator() (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const
 operator unspecified_bool_type () const
bool operator== (StaticFunctionPtr funcptr)
bool operator!= (StaticFunctionPtr funcptr)
bool operator! () const
bool IsEmpty () const
void Clear ()

Protected Member Functions

const Internal::DelegateMementoGetMemento ()
void SetMemento (const Internal::DelegateMemento &any)

Private Types

typedef Internal::DefaultVoidToVoid<
RetType >::type 
DesiredRetType
typedef DesiredRetType(*) StaticFunctionPtr (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)
typedef RetType(*) UnvoidStaticFunctionPtr (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)
typedef RetType(Internal::GenericClass::*) GenericMemFn (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)
typedef Internal::ClosurePtr<
GenericMemFn, StaticFunctionPtr,
UnvoidStaticFunctionPtr
ClosureType
typedef CppDelegate::FastDelegate6::SafeBoolStruct UselessTypedef
typedef StaticFunctionPtr
SafeBoolStruct::* 
unspecified_bool_type

Private Member Functions

RetType InvokeStaticFunction (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const

Private Attributes

ClosureType m_Closure

Classes

struct  SafeBoolStruct


Detailed Description

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
class CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >

Definition at line 1256 of file Delegate.h.


Member Typedef Documentation

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef Internal::DefaultVoidToVoid<RetType>::type CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::DesiredRetType [private]

Definition at line 1258 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef DesiredRetType(*) CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::StaticFunctionPtr(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) [private]

Definition at line 1259 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef RetType(*) CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::UnvoidStaticFunctionPtr(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) [private]

Definition at line 1260 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef RetType(Internal::GenericClass::*) CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::GenericMemFn(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) [private]

Definition at line 1261 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef Internal::ClosurePtr<GenericMemFn, StaticFunctionPtr, UnvoidStaticFunctionPtr> CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::ClosureType [private]

Definition at line 1262 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef FastDelegate6 CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::type

Definition at line 1266 of file Delegate.h.

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef struct CppDelegate::FastDelegate6::SafeBoolStruct CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::UselessTypedef [private]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
typedef StaticFunctionPtr SafeBoolStruct::* CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::unspecified_bool_type [private]

Definition at line 1315 of file Delegate.h.


Constructor & Destructor Documentation

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::FastDelegate6 (  )  [inline]

Definition at line 1269 of file Delegate.h.

01269 { Clear(); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::FastDelegate6 ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  [inline]

Definition at line 1270 of file Delegate.h.

01270                                               {
01271                 m_Closure.CopyFrom(this, x.m_Closure); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
template<class X, class Y>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::FastDelegate6 ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)  function_to_bind 
) [inline]

Definition at line 1284 of file Delegate.h.

01284                                                                                                                                          {
01285                 m_Closure.bindmemfunc(Internal::implicit_cast<X*>(pthis), function_to_bind); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
template<class X, class Y>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::FastDelegate6 ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const   function_to_bind 
) [inline]

Definition at line 1291 of file Delegate.h.

01291                                                                                                                                                     {
01292                 m_Closure.bindconstmemfunc(Internal::implicit_cast<const X*>(pthis), function_to_bind); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::FastDelegate6 ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)  function_to_bind  )  [inline]

Definition at line 1298 of file Delegate.h.

01298                                                                                                                              {
01299                 Bind(function_to_bind); }


Member Function Documentation

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator= ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  [inline]

Definition at line 1272 of file Delegate.h.

01272                                                   {
01273                 m_Closure.CopyFrom(this, x.m_Closure); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator== ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  const [inline]

Definition at line 1274 of file Delegate.h.

01274                                                        {
01275                 return m_Closure.IsEqual(x.m_Closure);  }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator!= ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  const [inline]

Definition at line 1276 of file Delegate.h.

01276                                                        {
01277                 return !m_Closure.IsEqual(x.m_Closure); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator< ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  const [inline]

Definition at line 1278 of file Delegate.h.

01278                                                       {
01279                 return m_Closure.IsLess(x.m_Closure);   }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator> ( const FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType > &  x  )  const [inline]

Definition at line 1280 of file Delegate.h.

01280                                                       {
01281                 return x.m_Closure.IsLess(m_Closure);   }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
template<class X, class Y>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::Bind ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)  function_to_bind 
) [inline]

Definition at line 1287 of file Delegate.h.

01287                                                                                                                                            {
01288                 m_Closure.bindmemfunc(Internal::implicit_cast<X*>(pthis), function_to_bind);    }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
template<class X, class Y>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::Bind ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6) const   function_to_bind 
) [inline]

Definition at line 1294 of file Delegate.h.

01294                                                                                                                                                        {
01295                 m_Closure.bindconstmemfunc(Internal::implicit_cast<const X *>(pthis), function_to_bind);        }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator= ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)  function_to_bind  )  [inline]

Definition at line 1301 of file Delegate.h.

01301                                                                                                                                 {
01302                 Bind(function_to_bind); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::Bind ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6)  function_to_bind  )  [inline]

Definition at line 1303 of file Delegate.h.

01303                                                                                                                                {
01304                 m_Closure.bindstaticfunc(this, &FastDelegate6::InvokeStaticFunction, 
01305                         function_to_bind); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
RetType CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator() ( Param1  p1,
Param2  p2,
Param3  p3,
Param4  p4,
Param5  p5,
Param6  p6 
) const [inline]

Definition at line 1307 of file Delegate.h.

01307                                                                                                     {
01308         return (m_Closure.GetClosureThis()->*(m_Closure.GetClosureMemPtr()))(p1, p2, p3, p4, p5, p6); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator unspecified_bool_type (  )  const [inline]

Definition at line 1317 of file Delegate.h.

01317                                                {
01318         return IsEmpty()? 0: &SafeBoolStruct::m_nonzero;
01319     }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator== ( StaticFunctionPtr  funcptr  )  [inline]

Definition at line 1321 of file Delegate.h.

01321                                                           {
01322                 return m_Closure.IsEqualToStaticFuncPtr(funcptr);       }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator!= ( StaticFunctionPtr  funcptr  )  [inline]

Definition at line 1323 of file Delegate.h.

01323                                                           { 
01324                 return !m_Closure.IsEqualToStaticFuncPtr(funcptr);    }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::operator! (  )  const [inline]

Definition at line 1325 of file Delegate.h.

01325                                         {       // Is it bound to anything?
01326                         return !m_Closure; }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
bool CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::IsEmpty (  )  const [inline]

Definition at line 1327 of file Delegate.h.

01327                                         {
01328                         return !m_Closure; }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::Clear (  )  [inline]

Definition at line 1329 of file Delegate.h.

01329 { m_Closure.Clear();}

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
const Internal::DelegateMemento& CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::GetMemento (  )  [inline, protected]

Definition at line 1332 of file Delegate.h.

01332 { return m_Closure; }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::SetMemento ( const Internal::DelegateMemento any  )  [inline, protected]

Definition at line 1333 of file Delegate.h.

01333 { m_Closure.CopyFrom(this, any); }

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
RetType CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::InvokeStaticFunction ( Param1  p1,
Param2  p2,
Param3  p3,
Param4  p4,
Param5  p5,
Param6  p6 
) const [inline, private]

Definition at line 1336 of file Delegate.h.

01336                                                                                                              {
01337         return (*(m_Closure.GetStaticFunction()))(p1, p2, p3, p4, p5, p6); }


Member Data Documentation

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class RetType = Internal::DefaultVoid>
ClosureType CppDelegate::FastDelegate6< Param1, Param2, Param3, Param4, Param5, Param6, RetType >::m_Closure [private]

Definition at line 1263 of file Delegate.h.


The documentation for this class was generated from the following file:
Generated on Sat Sep 15 23:41:49 2007 for AVR C++ Lib (common) by  doxygen 1.5.2
SourceForge.net Logo MTÜ TTÜ Robotiklubi