mbed source development branch

Fork of mbed-dev by mbed official

Embed: (wiki syntax)

« Back to documentation index

Callback< R()> Class Template Reference

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

Callback class based on template specialization. More...

#include <Callback.h>

Inherited by FunctionPointerArg1< R, void >.

Public Member Functions

 Callback (R(*func)()=0)
 Create a Callback with a static function.
 Callback (const Callback< R()> &func)
 Attach a Callback.
template<typename T >
 Callback (T *obj, R(T::*method)())
 Create a Callback with a member function.
template<typename T >
 Callback (const T *obj, R(T::*method)() const)
 Create a Callback with a member function.
template<typename T >
 Callback (volatile T *obj, R(T::*method)() volatile)
 Create a Callback with a member function.
template<typename T >
 Callback (const volatile T *obj, R(T::*method)() const volatile)
 Create a Callback with a member function.
 Callback (R(*func)(void *), void *arg)
 Create a Callback with a static function and bound pointer.
 Callback (R(*func)(const void *), const void *arg)
 Create a Callback with a static function and bound pointer.
 Callback (R(*func)(volatile void *), volatile void *arg)
 Create a Callback with a static function and bound pointer.
 Callback (R(*func)(const volatile void *), const volatile void *arg)
 Create a Callback with a static function and bound pointer.
template<typename T >
 Callback (R(*func)(T *), T *arg)
 Create a Callback with a static function and bound pointer.
template<typename T >
 Callback (R(*func)(const T *), const T *arg)
 Create a Callback with a static function and bound pointer.
template<typename T >
 Callback (R(*func)(volatile T *), volatile T *arg)
 Create a Callback with a static function and bound pointer.
template<typename T >
 Callback (R(*func)(const volatile T *), const volatile T *arg)
 Create a Callback with a static function and bound pointer.
template<typename F >
 Callback (F f, typename detail::enable_if< detail::is_type< R(F::*)(),&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Create a Callback with a function object.
template<typename F >
 Callback (const F f, typename detail::enable_if< detail::is_type< R(F::*)() const,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Create a Callback with a function object.
template<typename F >
 Callback (volatile F f, typename detail::enable_if< detail::is_type< R(F::*)() volatile,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Create a Callback with a function object.
template<typename F >
 Callback (const volatile F f, typename detail::enable_if< detail::is_type< R(F::*)() const volatile,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Create a Callback with a function object.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(void *obj
 Create a Callback with a static function and bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const void *obj
 Create a Callback with a static function and bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(volatile void *obj
 Create a Callback with a static function and bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const volatile void *obj
 Create a Callback with a static function and bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(T *obj
 Create a Callback with a static function and bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const T *obj
 Create a Callback with a static function and bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(volatile T *obj
 Create a Callback with a static function and bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to Callback(func, arg)") Callback(const volatile T *obj
 Create a Callback with a static function and bound pointer.
 ~Callback ()
 Destroy a callback.
void attach (R(*func)())
 Attach a static function.
void attach (const Callback< R()> &func)
 Attach a Callback.
template<typename T >
void attach (T *obj, R(T::*method)())
 Attach a member function.
template<typename T >
void attach (const T *obj, R(T::*method)() const)
 Attach a member function.
template<typename T >
void attach (volatile T *obj, R(T::*method)() volatile)
 Attach a member function.
template<typename T >
void attach (const volatile T *obj, R(T::*method)() const volatile)
 Attach a member function.
void attach (R(*func)(void *), void *arg)
 Attach a static function with a bound pointer.
void attach (R(*func)(const void *), const void *arg)
 Attach a static function with a bound pointer.
void attach (R(*func)(volatile void *), volatile void *arg)
 Attach a static function with a bound pointer.
void attach (R(*func)(const volatile void *), const volatile void *arg)
 Attach a static function with a bound pointer.
template<typename T >
void attach (R(*func)(T *), T *arg)
 Attach a static function with a bound pointer.
template<typename T >
void attach (R(*func)(const T *), const T *arg)
 Attach a static function with a bound pointer.
template<typename T >
void attach (R(*func)(volatile T *), volatile T *arg)
 Attach a static function with a bound pointer.
template<typename T >
void attach (R(*func)(const volatile T *), const volatile T *arg)
 Attach a static function with a bound pointer.
template<typename F >
void attach (F f, typename detail::enable_if< detail::is_type< R(F::*)(),&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Attach a function object.
template<typename F >
void attach (const F f, typename detail::enable_if< detail::is_type< R(F::*)() const,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Attach a function object.
template<typename F >
void attach (volatile F f, typename detail::enable_if< detail::is_type< R(F::*)() volatile,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Attach a function object.
template<typename F >
void attach (const volatile F f, typename detail::enable_if< detail::is_type< R(F::*)() const volatile,&F::operator()>::value &&sizeof(F)<=sizeof(uintptr_t) >::type=detail::nil())
 Attach a function object.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(void *obj
 Attach a static function with a bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const void *obj
 Attach a static function with a bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(volatile void *obj
 Attach a static function with a bound pointer.
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const volatile void *obj
 Attach a static function with a bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(T *obj
 Attach a static function with a bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const T *obj
 Attach a static function with a bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(volatile T *obj
 Attach a static function with a bound pointer.
template<typename T >
 MBED_DEPRECATED_SINCE ("mbed-os-5.1","Arguments to callback have been reordered to attach(func, arg)") void attach(const volatile T *obj
 Attach a static function with a bound pointer.
Callback & operator= (const Callback &that)
 Assign a callback.
call () const
 Call the attached function.
operator() () const
 Call the attached function.
 operator bool () const
 Test if function has been attached.

Static Public Member Functions

static R thunk (void *func)
 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>
class mbed::Callback< R()>

Callback class based on template specialization.

Synchronization level: Not protected

Definition at line 66 of file Callback.h.


Constructor & Destructor Documentation

Callback ( R(*)()  func = 0 )

Create a Callback with a static function.

Parameters:
funcStatic function to attach

Definition at line 71 of file Callback.h.

Callback ( const F  f )

Create a Callback with a function object.

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

Definition at line 210 of file Callback.h.

Callback ( volatile F  f )

Create a Callback with a function object.

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

Definition at line 222 of file Callback.h.

Callback ( const volatile F  f )

Create a Callback with a function object.

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

Definition at line 234 of file Callback.h.


Member Function Documentation

void attach ( const F  f )

Attach a function object.

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

Definition at line 499 of file Callback.h.

void attach ( volatile F  f )

Attach a function object.

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

Definition at line 512 of file Callback.h.

void attach ( const volatile F  f )

Attach a function object.

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

Definition at line 525 of file Callback.h.

MBED_DEPRECATED_SINCE ( "mbed-os-5.1"  ,
"Arguments to callback have been reordered to Callback< R()>(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()>(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.1"  ,
"Arguments to callback have been reordered to Callback< R()>(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.1"  ,
"Arguments to callback have been reordered to attach(func, arg)"   
)

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 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 Callback< R()>(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