f

Embed: (wiki syntax)

« Back to documentation index

Callback< R(A0, A1)> Class Template Reference

Callback< R(A0, A1)> Class Template Reference
[Platform]

Callback class based on template specialization. More...

#include <Callback-A.h>

Public Member Functions

 Callback (R(*func)(A0, A1)=0)
 Create a Callback with a static function.
 Callback (const Callback< R(A0, A1)> &func)
 Attach a Callback.
template<typename T , typename U >
 Callback (U *obj, R(T::*method)(A0, A1))
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (const U *obj, R(T::*method)(A0, A1) const)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (volatile U *obj, R(T::*method)(A0, A1) volatile)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (const volatile U *obj, R(T::*method)(A0, A1) const volatile)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (R(*func)(T *, A0, A1), U *arg)
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (R(*func)(const T *, A0, A1), const U *arg)
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (R(*func)(volatile T *, A0, A1), volatile U *arg)
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (R(*func)(const volatile T *, A0, A1), const volatile U *arg)
 Create a Callback with a static function and bound pointer.
template<typename F >
 Callback (F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1)))
 Create a Callback with a function object.
template<typename F >
 Callback (const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const))
 Create a Callback with a function object.
template<typename F >
 Callback (volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) volatile))
 Create a Callback with a function object.
template<typename F >
 Callback (const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const volatile))
 Create a Callback with a function object.
template<typename T , typename U >
 Callback (U *obj, R(*func)(T *, A0, A1))
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (const U *obj, R(*func)(const T *, A0, A1))
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (volatile U *obj, R(*func)(volatile T *, A0, A1))
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (const volatile U *obj, R(*func)(const volatile T *, A0, A1))
 Create a Callback with a static function and bound pointer.
 ~Callback ()
 Destroy a callback.
void attach (R(*func)(A0, A1))
 Attach a static function.
void attach (const Callback< R(A0, A1)> &func)
 Attach a Callback.
template<typename T , typename U >
void attach (U *obj, R(T::*method)(A0, A1))
 Attach a member function.
template<typename T , typename U >
void attach (const U *obj, R(T::*method)(A0, A1) const)
 Attach a member function.
template<typename T , typename U >
void attach (volatile U *obj, R(T::*method)(A0, A1) volatile)
 Attach a member function.
template<typename T , typename U >
void attach (const volatile U *obj, R(T::*method)(A0, A1) const volatile)
 Attach a member function.
template<typename T , typename U >
void attach (R(*func)(T *, A0, A1), U *arg)
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (R(*func)(const T *, A0, A1), const U *arg)
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (R(*func)(volatile T *, A0, A1), volatile U *arg)
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (R(*func)(const volatile T *, A0, A1), const volatile U *arg)
 Attach a static function with a bound pointer.
template<typename F >
void attach (F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1)))
 Attach a function object.
template<typename F >
void attach (const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const))
 Attach a function object.
template<typename F >
void attach (volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) volatile))
 Attach a function object.
template<typename F >
void attach (const volatile F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const volatile))
 Attach a function object.
template<typename T , typename U >
void attach (U *obj, R(*func)(T *, A0, A1))
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (const U *obj, R(*func)(const T *, A0, A1))
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (volatile U *obj, R(*func)(volatile T *, A0, A1))
 Attach a static function with a bound pointer.
template<typename T , typename U >
void attach (const volatile U *obj, R(*func)(const volatile T *, A0, A1))
 Attach a static function with a bound pointer.
Callback & operator= (const Callback &that)
 Assign a callback.
call (A0 a0, A1 a1) const
 Call the attached function.
operator() (A0 a0, A1 a1) const
 Call the attached function.
 operator bool () const
 Test if function has been attached.

Static Public Member Functions

static R thunk (void *func, A0 a0, A1 a1)
 Static thunk for passing as C-style function.

Friends

bool operator== (const Callback &l, const Callback &r)
 Test for equality.
bool operator!= (const Callback &l, const Callback &r)
 Test for inequality.

Detailed Description

template<typename R, typename A0, typename A1>
class Callback< R(A0, A1)>

Callback class based on template specialization.

Note:
Synchronization level: Not protected

Definition at line 1136 of file Callback-A.h.


Constructor & Destructor Documentation

Callback ( R(*)(A0, A1)  func = 0 )

Create a Callback with a static function.

Parameters:
funcStatic function to attach

Definition at line 1141 of file Callback-A.h.

Callback ( const Callback< R(A0, A1)> &  func )

Attach a Callback.

Parameters:
funcThe Callback to attach

Definition at line 1152 of file Callback-A.h.

Callback ( U *  obj,
R(T::*)(A0, A1)  method 
)

Create a Callback with a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1164 of file Callback-A.h.

Callback ( const U *  obj,
R(T::*)(A0, A1) const   method 
)

Create a Callback with a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1173 of file Callback-A.h.

Callback ( volatile U *  obj,
R(T::*)(A0, A1) volatile  method 
)

Create a Callback with a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1182 of file Callback-A.h.

Callback ( const volatile U *  obj,
R(T::*)(A0, A1) const volatile  method 
)

Create a Callback with a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1191 of file Callback-A.h.

Callback ( R(*)(T *, A0, A1)  func,
U *  arg 
)

Create a Callback with a static function and bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1200 of file Callback-A.h.

Callback ( R(*)(const T *, A0, A1)  func,
const U *  arg 
)

Create a Callback with a static function and bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1209 of file Callback-A.h.

Callback ( R(*)(volatile T *, A0, A1)  func,
volatile U *  arg 
)

Create a Callback with a static function and bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1218 of file Callback-A.h.

Callback ( R(*)(const volatile T *, A0, A1)  func,
const volatile U *  arg 
)

Create a Callback with a static function and bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1227 of file Callback-A.h.

Callback ( f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1))   
)

Create a Callback with a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1236 of file Callback-A.h.

Callback ( const F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const)   
)

Create a Callback with a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1245 of file Callback-A.h.

Callback ( volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) volatile)   
)

Create a Callback with a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1254 of file Callback-A.h.

Callback ( const volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const volatile)   
)

Create a Callback with a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1263 of file Callback-A.h.

Callback ( U *  obj,
R(*)(T *, A0, A1)  func 
)

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1274 of file Callback-A.h.

Callback ( const U *  obj,
R(*)(const T *, A0, A1)  func 
)

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1285 of file Callback-A.h.

Callback ( volatile U *  obj,
R(*)(volatile T *, A0, A1)  func 
)

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1296 of file Callback-A.h.

Callback ( const volatile U *  obj,
R(*)(const volatile T *, A0, A1)  func 
)

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1307 of file Callback-A.h.

~Callback (  )

Destroy a callback.

Definition at line 1313 of file Callback-A.h.


Member Function Documentation

void attach ( R(*)(A0, A1)  func )

Attach a static function.

Parameters:
funcStatic function to attach

Definition at line 1324 of file Callback-A.h.

void attach ( const Callback< R(A0, A1)> &  func )

Attach a Callback.

Parameters:
funcThe Callback to attach

Definition at line 1334 of file Callback-A.h.

void attach ( const U *  obj,
R(T::*)(A0, A1) const   method 
)

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1358 of file Callback-A.h.

void attach ( R(*)(const T *, A0, A1)  func,
const U *  arg 
)

Attach a static function with a bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1406 of file Callback-A.h.

void attach ( const U *  obj,
R(*)(const T *, A0, A1)  func 
)

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1502 of file Callback-A.h.

void attach ( volatile U *  obj,
R(*)(volatile T *, A0, A1)  func 
)

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1514 of file Callback-A.h.

void attach ( R(*)(volatile T *, A0, A1)  func,
volatile U *  arg 
)

Attach a static function with a bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1418 of file Callback-A.h.

void attach ( const volatile U *  obj,
R(*)(const volatile T *, A0, A1)  func 
)

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1526 of file Callback-A.h.

void attach ( volatile U *  obj,
R(T::*)(A0, A1) volatile  method 
)

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1370 of file Callback-A.h.

void attach ( U *  obj,
R(*)(T *, A0, A1)  func 
)

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach

Definition at line 1490 of file Callback-A.h.

void attach ( const volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const volatile)   
)

Attach a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1478 of file Callback-A.h.

void attach ( volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) volatile)   
)

Attach a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1466 of file Callback-A.h.

void attach ( const F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1) const)   
)

Attach a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1454 of file Callback-A.h.

void attach ( R(*)(const volatile T *, A0, A1)  func,
const volatile U *  arg 
)

Attach a static function with a bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1430 of file Callback-A.h.

void attach ( f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1))   
)

Attach a function object.

Parameters:
fFunction object to attach
Note:
The function object is limited to a single word of storage

Definition at line 1442 of file Callback-A.h.

void attach ( U *  obj,
R(T::*)(A0, A1)  method 
)

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1346 of file Callback-A.h.

void attach ( const volatile U *  obj,
R(T::*)(A0, A1) const volatile  method 
)

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach

Definition at line 1382 of file Callback-A.h.

void attach ( R(*)(T *, A0, A1)  func,
U *  arg 
)

Attach a static function with a bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function

Definition at line 1394 of file Callback-A.h.

R call ( A0  a0,
A1  a1 
) const

Call the attached function.

Definition at line 1544 of file Callback-A.h.

operator bool (  ) const

Test if function has been attached.

Definition at line 1557 of file Callback-A.h.

R operator() ( A0  a0,
A1  a1 
) const

Call the attached function.

Definition at line 1551 of file Callback-A.h.

Callback& operator= ( const Callback< R(A0, A1)> &  that )

Assign a callback.

Definition at line 1533 of file Callback-A.h.

static R thunk ( void *  func,
A0  a0,
A1  a1 
) [static]

Static thunk for passing as C-style function.

Parameters:
funcCallback to call passed as void pointer
a0An argument to be called with function func
a1An argument to be called with function func
Returns:
the value as determined by func which is of type and determined by the signiture of func

Definition at line 1580 of file Callback-A.h.


Friends And Related Function Documentation

bool operator!= ( const Callback< R(A0, A1)> &  l,
const Callback< R(A0, A1)> &  r 
) [friend]

Test for inequality.

Definition at line 1569 of file Callback-A.h.

bool operator== ( const Callback< R(A0, A1)> &  l,
const Callback< R(A0, A1)> &  r 
) [friend]

Test for equality.

Definition at line 1563 of file Callback-A.h.