fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType > Class Template Reference

#include <FastDelegate.h>

Inheritance diagram for fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >:

Inheritance graph
[legend]
List of all members.


template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid> class fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >


Public Types

typedef FastDelegate5 type

Public Member Functions

 FastDelegate5 ()
 FastDelegate5 (const FastDelegate5 &x)
void operator= (const FastDelegate5 &x)
bool operator== (const FastDelegate5 &x) const
bool operator!= (const FastDelegate5 &x) const
bool operator< (const FastDelegate5 &x) const
bool operator> (const FastDelegate5 &x) const
template<class X, class Y>
 FastDelegate5 (Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5))
template<class X, class Y>
void bind (Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5))
template<class X, class Y>
 FastDelegate5 (const Y *pthis, DesiredRetType(X::*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) 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) const)
 FastDelegate5 (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5))
void operator= (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5))
void bind (DesiredRetType(*function_to_bind)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5))
RetType operator() (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) 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)
typedef RetType(*) UnvoidStaticFunctionPtr (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)
typedef RetType(detail::GenericClass::*) GenericMemFn (Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)
typedef detail::ClosurePtr<
GenericMemFn, StaticFunctionPtr,
UnvoidStaticFunctionPtr
ClosureType
typedef fastdelegate::FastDelegate5::SafeBoolStruct UselessTypedef
typedef StaticFunctionPtr
SafeBoolStruct::* 
unspecified_bool_type

Private Member Functions

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

Private Attributes

ClosureType m_Closure

Classes

struct  SafeBoolStruct

Member Typedef Documentation

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef DesiredRetType(*) fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::StaticFunctionPtr(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) [private]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef RetType(*) fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::UnvoidStaticFunctionPtr(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) [private]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef RetType(detail::GenericClass::*) fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::GenericMemFn(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) [private]

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef FastDelegate5 fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::type

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef struct fastdelegate::FastDelegate5::SafeBoolStruct fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::UselessTypedef [private]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
typedef StaticFunctionPtr SafeBoolStruct::* fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::unspecified_bool_type [private]


Constructor & Destructor Documentation

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

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
template<class X, class Y>
fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::FastDelegate5 ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)  function_to_bind 
) [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
template<class X, class Y>
fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::FastDelegate5 ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) const   function_to_bind 
) [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::FastDelegate5 ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)  function_to_bind  )  [inline]


Member Function Documentation

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator== ( const FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType > &  x  )  const [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator!= ( const FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType > &  x  )  const [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator< ( const FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType > &  x  )  const [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator> ( const FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType > &  x  )  const [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
template<class X, class Y>
void fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::bind ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)  function_to_bind 
) [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
template<class X, class Y>
void fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::bind ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5) const   function_to_bind 
) [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator= ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)  function_to_bind  )  [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::bind ( DesiredRetType(*)(Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5)  function_to_bind  )  [inline]

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
RetType fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::operator() ( Param1  p1,
Param2  p2,
Param3  p3,
Param4  p4,
Param5  p5 
) const [inline]

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

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

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

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

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

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

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

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

template<class Param1, class Param2, class Param3, class Param4, class Param5, class RetType = detail::DefaultVoid>
RetType fastdelegate::FastDelegate5< Param1, Param2, Param3, Param4, Param5, RetType >::InvokeStaticFunction ( Param1  p1,
Param2  p2,
Param3  p3,
Param4  p4,
Param5  p5 
) const [inline, private]


Member Data Documentation

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