Rtos API example

Embed: (wiki syntax)

« Back to documentation index

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

Callback< R(A0, A1, A2, A3, A4)> Class Template Reference
[Callback class]

Callback class based on template specialization. More...

#include <Callback.h>

Public Member Functions

 Callback (R(*func)(A0, A1, A2, A3, A4)=0)
 Create a Callback with a static function.
 Callback (const Callback< R(A0, A1, A2, A3, A4)> &func)
 Attach a Callback.
template<typename T , typename U >
 Callback (U *obj, R(T::*method)(A0, A1, A2, A3, A4))
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (const U *obj, R(T::*method)(A0, A1, A2, A3, A4) const)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (volatile U *obj, R(T::*method)(A0, A1, A2, A3, A4) volatile)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (const volatile U *obj, R(T::*method)(A0, A1, A2, A3, A4) const volatile)
 Create a Callback with a member function.
template<typename T , typename U >
 Callback (R(*func)(T *, A0, A1, A2, A3, A4), U *arg)
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 Callback (R(*func)(const T *, A0, A1, A2, A3, A4), 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, A2, A3, A4), 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, A2, A3, A4), 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, A2, A3, A4)))
 Create a Callback with a function object.
template<typename F >
 Callback (const F f, MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1, A2, A3, A4) 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, A2, A3, A4) 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, A2, A3, A4) const volatile))
 Create a Callback with a function object.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(U *obj
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const U *obj
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(volatile U *obj
 Create a Callback with a static function and bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const volatile U *obj
 Create a Callback with a static function and bound pointer.
 ~Callback ()
 Destroy a callback.
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by simple assignment 'Callback cb = func") void attach(R(*func)(A0
 Attach a static function.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by simple assignment 'Callback cb = func") void attach(const U *obj
 Attach a member function.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by simple assignment 'Callback cb = func") void attach(volatile U *obj
 Attach a member function.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by simple assignment 'Callback cb = func") void attach(const volatile U *obj
 Attach a member function.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by simple assignment 'Callback cb = func") void attach(R(*func)(T *
 Attach a static function with a bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const U *obj
 Attach a static function with a bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(volatile U *obj
 Attach a static function with a bound pointer.
template<typename T , typename U >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const volatile U *obj
 Attach a static function with a bound pointer.
Callback & operator= (const Callback &that)
 Assign a callback.
call (A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const
 Call the attached function.
operator() (A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) 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, A2 a2, A3 a3, A4 a4)
 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, typename A2, typename A3, typename A4>
class mbed::Callback< R(A0, A1, A2, A3, A4)>

Callback class based on template specialization.

Note:
Synchronization level: Not protected

Definition at line 2955 of file Callback.h.


Constructor & Destructor Documentation

Callback ( R(*)(A0, A1, A2, A3, A4)  func = 0 )

Create a Callback with a static function.

Parameters:
funcStatic function to attach

Definition at line 2960 of file Callback.h.

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

Attach a Callback.

Parameters:
funcThe Callback to attach

Definition at line 2971 of file Callback.h.

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

Create a Callback with a member function.

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

Definition at line 2983 of file Callback.h.

Callback ( const U *  obj,
R(T::*)(A0, A1, A2, A3, A4) 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 2992 of file Callback.h.

Callback ( volatile U *  obj,
R(T::*)(A0, A1, A2, A3, A4) 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 3001 of file Callback.h.

Callback ( const volatile U *  obj,
R(T::*)(A0, A1, A2, A3, A4) 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 3010 of file Callback.h.

Callback ( R(*)(T *, A0, A1, A2, A3, A4)  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 3019 of file Callback.h.

Callback ( R(*)(const T *, A0, A1, A2, A3, A4)  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 3028 of file Callback.h.

Callback ( R(*)(volatile T *, A0, A1, A2, A3, A4)  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 3037 of file Callback.h.

Callback ( R(*)(const volatile T *, A0, A1, A2, A3, A4)  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 3046 of file Callback.h.

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

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 3055 of file Callback.h.

Callback ( const F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1, A2, A3, A4) 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 3064 of file Callback.h.

Callback ( volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1, A2, A3, A4) 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 3073 of file Callback.h.

Callback ( const volatile F  f,
MBED_ENABLE_IF_CALLBACK_COMPATIBLE(F, R(F::*)(A0, A1, A2, A3, A4) 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 3082 of file Callback.h.

~Callback (  )

Destroy a callback.

Definition at line 3140 of file Callback.h.


Member Function Documentation

R call ( A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
) const

Call the attached function.

Definition at line 3407 of file Callback.h.

MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to Callback< R(A0, A1, A2, A3, A4)>(func, arg)"   
)

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to Callback< R(A0, A1, A2, A3, A4)>(func, arg)"   
) const

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.4"   ) volatile

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.4"   ) const volatile

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to attach(func, arg)"   
) volatile

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to attach(func, arg)"   
) const volatile

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to Callback< R(A0, A1, A2, A3, A4)>(func, arg)"   
) const volatile

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to attach(func, arg)"   
) const

Attach a static function with a bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.4"   )

Attach a static function.

Parameters:
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.4"   )

Attach a static function with a bound pointer.

Parameters:
funcStatic function to attach
argPointer argument to function
MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to Callback< R(A0, A1, A2, A3, A4)>(func, arg)"   
) volatile

Create a Callback with a static function and bound pointer.

Parameters:
objPointer to object to bind to function
funcStatic function to attach
MBED_DEPRECATED_SINCE ( "mbed-os-5.4"   ) const

Attach a member function.

Parameters:
objPointer to object to invoke member function on
methodMember function to attach
operator bool (  ) const

Test if function has been attached.

Definition at line 3420 of file Callback.h.

R operator() ( A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
) const

Call the attached function.

Definition at line 3414 of file Callback.h.

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

Assign a callback.

Definition at line 3396 of file Callback.h.

static R thunk ( void *  func,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
) [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
a2An argument to be called with function func
a3An argument to be called with function func
a4An 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 3446 of file Callback.h.


Friends And Related Function Documentation

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

Test for inequality.

Definition at line 3432 of file Callback.h.

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

Test for equality.

Definition at line 3426 of file Callback.h.