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

#include <FastDelegate.h>

Inheritance diagram for fastdelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >:

Inheritance graph
[legend]
List of all members.


template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid> class fastdelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >


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 empty () const
void clear ()
const DelegateMementoGetMemento ()
void SetMemento (const DelegateMemento &any)

Private Types

typedef detail::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(detail::GenericClass::*) GenericMemFn (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8)
typedef detail::ClosurePtr<
GenericMemFn, StaticFunctionPtr,
UnvoidStaticFunctionPtr
ClosureType
typedef fastdelegate::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

Member Typedef Documentation

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
typedef DesiredRetType(*) fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
typedef RetType(*) fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
typedef RetType(detail::GenericClass::*) fastdelegate::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]

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

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
typedef struct fastdelegate::FastDelegate8::SafeBoolStruct fastdelegate::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 = detail::DefaultVoid>
typedef StaticFunctionPtr SafeBoolStruct::* fastdelegate::FastDelegate8< Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, RetType >::unspecified_bool_type [private]


Constructor & Destructor Documentation

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

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
template<class X, class Y>
fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
template<class X, class Y>
fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
fastdelegate::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]


Member Function Documentation

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
bool fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
bool fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
bool fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
bool fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
template<class X, class Y>
void fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
template<class X, class Y>
void fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
void fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
void fastdelegate::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]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
RetType fastdelegate::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]

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

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

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

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

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

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

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

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class Param6, class Param7, class Param8, class RetType = detail::DefaultVoid>
RetType fastdelegate::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]


Member Data Documentation

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