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

#include <Delegate.h>

List of all members.

Public Types

typedef FastDelegate7 type

Public Member Functions

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

Definition at line 1342 of file Delegate.h.


Member Typedef Documentation

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

Definition at line 1344 of file Delegate.h.

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

Definition at line 1345 of file Delegate.h.

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

Definition at line 1346 of file Delegate.h.

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

Definition at line 1347 of file Delegate.h.

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

Definition at line 1348 of file Delegate.h.

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

Definition at line 1352 of file Delegate.h.

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

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

Definition at line 1401 of file Delegate.h.


Constructor & Destructor Documentation

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

Definition at line 1355 of file Delegate.h.

01355 { Clear(); }

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

Definition at line 1356 of file Delegate.h.

01356                                               {
01357                 m_Closure.CopyFrom(this, x.m_Closure); }

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

Definition at line 1370 of file Delegate.h.

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

Definition at line 1377 of file Delegate.h.

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

Definition at line 1384 of file Delegate.h.

01384                                                                                                                                         {
01385                 Bind(function_to_bind); }


Member Function Documentation

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

Definition at line 1358 of file Delegate.h.

01358                                                   {
01359                 m_Closure.CopyFrom(this, x.m_Closure); }

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

Definition at line 1360 of file Delegate.h.

01360                                                        {
01361                 return m_Closure.IsEqual(x.m_Closure);  }

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

Definition at line 1362 of file Delegate.h.

01362                                                        {
01363                 return !m_Closure.IsEqual(x.m_Closure); }

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

Definition at line 1364 of file Delegate.h.

01364                                                       {
01365                 return m_Closure.IsLess(x.m_Closure);   }

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

Definition at line 1366 of file Delegate.h.

01366                                                       {
01367                 return x.m_Closure.IsLess(m_Closure);   }

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

Definition at line 1373 of file Delegate.h.

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

Definition at line 1380 of file Delegate.h.

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

Definition at line 1387 of file Delegate.h.

01387                                                                                                                                            {
01388                 Bind(function_to_bind); }

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

Definition at line 1389 of file Delegate.h.

01389                                                                                                                                           {
01390                 m_Closure.bindstaticfunc(this, &FastDelegate7::InvokeStaticFunction, 
01391                         function_to_bind); }

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

Definition at line 1393 of file Delegate.h.

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

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

Definition at line 1403 of file Delegate.h.

01403                                                {
01404         return IsEmpty()? 0: &SafeBoolStruct::m_nonzero;
01405     }

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

Definition at line 1407 of file Delegate.h.

01407                                                           {
01408                 return m_Closure.IsEqualToStaticFuncPtr(funcptr);       }

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

Definition at line 1409 of file Delegate.h.

01409                                                           { 
01410                 return !m_Closure.IsEqualToStaticFuncPtr(funcptr);    }

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

Definition at line 1411 of file Delegate.h.

01411                                         {       // Is it bound to anything?
01412                         return !m_Closure; }

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

Definition at line 1413 of file Delegate.h.

01413                                         {
01414                         return !m_Closure; }

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

Definition at line 1415 of file Delegate.h.

01415 { m_Closure.Clear();}

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

Definition at line 1418 of file Delegate.h.

01418 { return m_Closure; }

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

Definition at line 1419 of file Delegate.h.

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

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

Definition at line 1422 of file Delegate.h.

01422                                                                                                                         {
01423         return (*(m_Closure.GetStaticFunction()))(p1, p2, p3, p4, p5, p6, p7); }


Member Data Documentation

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

Definition at line 1349 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