CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType > Class Template Reference

#include <Delegate.h>

List of all members.

Public Types

typedef FastDelegate8 type

Public Member Functions

 FastDelegate8 ()
 FastDelegate8 (const FastDelegate8 &x)
void operator= (const FastDelegate8 &x)
bool operator== (const FastDelegate8 &x) const
bool operator!= (const FastDelegate8 &x) const
bool operator< (const FastDelegate8 &x) const
bool operator> (const FastDelegate8 &x) const
template<class X, class Y>
 FastDelegate8 (Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8))
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, Param7 p7, Param8 p8))
template<class X, class Y>
 FastDelegate8 (const Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8) 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, Param7 p7, Param8 p8) const)
 FastDelegate8 (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8))
void operator= (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8))
void Bind (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8))
RetType operator() (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8) 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, Param7 p7, Param8 p8)
typedef RetType(*) UnvoidStaticFunctionPtr (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8)
typedef RetType(Internal::GenericClass::*) GenericMemFn (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8)
typedef Internal::ClosurePtr<
GenericMemFn, StaticFunctionPtr,
UnvoidStaticFunctionPtr
ClosureType
typedef CppDelegate::FastDelegate8::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, Param7 p7, Param8 p8) 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 Param7, class Param8, class RetType = Internal::DefaultVoid>
class CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >

Definition at line 1428 of file Delegate.h.


Member Typedef Documentation

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

Definition at line 1430 of file Delegate.h.

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

Definition at line 1431 of file Delegate.h.

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

Definition at line 1432 of file Delegate.h.

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

Definition at line 1433 of file Delegate.h.

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

Definition at line 1434 of file Delegate.h.

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

Definition at line 1438 of file Delegate.h.

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

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

Definition at line 1487 of file Delegate.h.


Constructor & Destructor Documentation

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

Definition at line 1441 of file Delegate.h.

01441 { Clear(); }

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

Definition at line 1442 of file Delegate.h.

01442                                               {
01443                 m_Closure.CopyFrom(this, x.m_Closure); }

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

Definition at line 1456 of file Delegate.h.

01456                                                                                                                                                                {
01457                 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 Param7, class Param8, class RetType = Internal::DefaultVoid>
template<class X, class Y>
CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >::FastDelegate8 ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8) const   function_to_bind 
) [inline]

Definition at line 1463 of file Delegate.h.

01463                                                                                                                                                                           {
01464                 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 Param7, class Param8, class RetType = Internal::DefaultVoid>
CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >::FastDelegate8 ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8)  function_to_bind  )  [inline]

Definition at line 1470 of file Delegate.h.

01470                                                                                                                                                    {
01471                 Bind(function_to_bind); }


Member Function Documentation

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

Definition at line 1444 of file Delegate.h.

01444                                                   {
01445                 m_Closure.CopyFrom(this, x.m_Closure); }

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

Definition at line 1446 of file Delegate.h.

01446                                                        {
01447                 return m_Closure.IsEqual(x.m_Closure);  }

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

Definition at line 1448 of file Delegate.h.

01448                                                        {
01449                 return !m_Closure.IsEqual(x.m_Closure); }

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

Definition at line 1450 of file Delegate.h.

01450                                                       {
01451                 return m_Closure.IsLess(x.m_Closure);   }

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

Definition at line 1452 of file Delegate.h.

01452                                                       {
01453                 return x.m_Closure.IsLess(m_Closure);   }

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

Definition at line 1459 of file Delegate.h.

01459                                                                                                                                                                  {
01460                 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 Param7, class Param8, class RetType = Internal::DefaultVoid>
template<class X, class Y>
void CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >::Bind ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8) const   function_to_bind 
) [inline]

Definition at line 1466 of file Delegate.h.

01466                                                                                                                                                                              {
01467                 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 Param7, class Param8, class RetType = Internal::DefaultVoid>
void CppDelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >::operator= ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8)  function_to_bind  )  [inline]

Definition at line 1473 of file Delegate.h.

01473                                                                                                                                                       {
01474                 Bind(function_to_bind); }

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

Definition at line 1475 of file Delegate.h.

01475                                                                                                                                                      {
01476                 m_Closure.bindstaticfunc(this, &FastDelegate8::InvokeStaticFunction, 
01477                         function_to_bind); }

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

Definition at line 1479 of file Delegate.h.

01479                                                                                                                           {
01480         return (m_Closure.GetClosureThis()->*(m_Closure.GetClosureMemPtr()))(p1, p2, p3, p4, p5, p6, p7, p8); }

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

Definition at line 1489 of file Delegate.h.

01489                                                {
01490         return IsEmpty()? 0: &SafeBoolStruct::m_nonzero;
01491     }

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

Definition at line 1493 of file Delegate.h.

01493                                                           {
01494                 return m_Closure.IsEqualToStaticFuncPtr(funcptr);       }

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

Definition at line 1495 of file Delegate.h.

01495                                                           { 
01496                 return !m_Closure.IsEqualToStaticFuncPtr(funcptr);    }

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

Definition at line 1497 of file Delegate.h.

01497                                         {       // Is it bound to anything?
01498                         return !m_Closure; }

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

Definition at line 1499 of file Delegate.h.

01499                                         {
01500                         return !m_Closure; }

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

Definition at line 1501 of file Delegate.h.

01501 { m_Closure.Clear();}

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

Definition at line 1504 of file Delegate.h.

01504 { return m_Closure; }

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

Definition at line 1505 of file Delegate.h.

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

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

Definition at line 1508 of file Delegate.h.

01508                                                                                                                                    {
01509         return (*(m_Closure.GetStaticFunction()))(p1, p2, p3, p4, p5, p6, p7, p8); }


Member Data Documentation

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

Definition at line 1435 of file Delegate.h.


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