STM32LIB
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
fastdelegate::FastDelegate2< Param1, Param2, RetType > Class Template Reference

#include <FastDelegate.h>

Classes

struct  SafeBoolStruct
 

Public Types

typedef FastDelegate2 type
 

Public Member Functions

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

Private Member Functions

RetType InvokeStaticFunction (Param1 p1, Param2 p2) const
 

Private Attributes

ClosureType m_Closure
 

Member Typedef Documentation

template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef detail::DefaultVoidToVoid<RetType>::type fastdelegate::FastDelegate2< Param1, Param2, RetType >::DesiredRetType
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef DesiredRetType(* fastdelegate::FastDelegate2< Param1, Param2, RetType >::StaticFunctionPtr) (Param1 p1, Param2 p2)
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef RetType(* fastdelegate::FastDelegate2< Param1, Param2, RetType >::UnvoidStaticFunctionPtr) (Param1 p1, Param2 p2)
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef RetType(detail::GenericClass::* fastdelegate::FastDelegate2< Param1, Param2, RetType >::GenericMemFn) (Param1 p1, Param2 p2)
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef detail::ClosurePtr<GenericMemFn, StaticFunctionPtr, UnvoidStaticFunctionPtr> fastdelegate::FastDelegate2< Param1, Param2, RetType >::ClosureType
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef FastDelegate2 fastdelegate::FastDelegate2< Param1, Param2, RetType >::type
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef struct fastdelegate::FastDelegate2::SafeBoolStruct fastdelegate::FastDelegate2< Param1, Param2, RetType >::UselessTypedef
private
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
typedef StaticFunctionPtr SafeBoolStruct::* fastdelegate::FastDelegate2< Param1, Param2, RetType >::unspecified_bool_type
private

Constructor & Destructor Documentation

template<class Param1, class Param2, class RetType = detail::DefaultVoid>
fastdelegate::FastDelegate2< Param1, Param2, RetType >::FastDelegate2 ( )
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
fastdelegate::FastDelegate2< Param1, Param2, RetType >::FastDelegate2 ( const FastDelegate2< Param1, Param2, RetType > &  x)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
template<class X , class Y >
fastdelegate::FastDelegate2< Param1, Param2, RetType >::FastDelegate2 ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2)  function_to_bind 
)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
template<class X , class Y >
fastdelegate::FastDelegate2< Param1, Param2, RetType >::FastDelegate2 ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2) const  function_to_bind 
)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
fastdelegate::FastDelegate2< Param1, Param2, RetType >::FastDelegate2 ( DesiredRetType(*)(Param1 p1, Param2 p2)  function_to_bind)
inline

Member Function Documentation

template<class Param1, class Param2, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator= ( const FastDelegate2< Param1, Param2, RetType > &  x)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator== ( const FastDelegate2< Param1, Param2, RetType > &  x) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator!= ( const FastDelegate2< Param1, Param2, RetType > &  x) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator< ( const FastDelegate2< Param1, Param2, RetType > &  x) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator> ( const FastDelegate2< Param1, Param2, RetType > &  x) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
template<class X , class Y >
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::bind ( Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2)  function_to_bind 
)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
template<class X , class Y >
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::bind ( const Y *  pthis,
DesiredRetType(X::*)(Param1 p1, Param2 p2) const  function_to_bind 
)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator= ( DesiredRetType(*)(Param1 p1, Param2 p2)  function_to_bind)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::bind ( DesiredRetType(*)(Param1 p1, Param2 p2)  function_to_bind)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
RetType fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator() ( Param1  p1,
Param2  p2 
) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator unspecified_bool_type ( ) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator== ( StaticFunctionPtr  funcptr)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator!= ( StaticFunctionPtr  funcptr)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::operator! ( ) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
bool fastdelegate::FastDelegate2< Param1, Param2, RetType >::empty ( ) const
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::clear ( )
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
const DelegateMemento& fastdelegate::FastDelegate2< Param1, Param2, RetType >::GetMemento ( )
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
void fastdelegate::FastDelegate2< Param1, Param2, RetType >::SetMemento ( const DelegateMemento any)
inline
template<class Param1, class Param2, class RetType = detail::DefaultVoid>
RetType fastdelegate::FastDelegate2< Param1, Param2, RetType >::InvokeStaticFunction ( Param1  p1,
Param2  p2 
) const
inlineprivate

Member Data Documentation

template<class Param1, class Param2, class RetType = detail::DefaultVoid>
ClosureType fastdelegate::FastDelegate2< Param1, Param2, RetType >::m_Closure
private

The documentation for this class was generated from the following file: