takashi kadono / Mbed OS Nucleo_446

Dependencies:   ssd1331

Embed: (wiki syntax)

« Back to documentation index

EventQueue Class Reference

EventQueue. More...

#include <EventQueue.h>

Inherits NonCopyable< EventQueue >.

Public Member Functions

 EventQueue (unsigned size=EVENTS_QUEUE_SIZE, unsigned char *buffer=NULL)
 Create an EventQueue.
 ~EventQueue ()
 Destroy an EventQueue.
void dispatch (int ms=-1)
 Dispatch events.
void dispatch_forever ()
 Dispatch events without a timeout.
void break_dispatch ()
 Break out of a running event loop.
unsigned tick ()
 Millisecond counter.
void cancel (int id)
 Cancel an in-flight event.
int time_left (int id)
 Query how much time is left for delayed event.
void background (mbed::Callback< void(int)> update)
 Background an event queue onto a single-shot timer-interrupt.
void chain (EventQueue *target)
 Chain an event queue onto another event queue.
template<typename F , typename... Args>
int call (F f, Args...args)
 Calls an event on the queue.
template<typename T , typename R , typename... Args>
int call (T *obj, R(T::*method)(Args...args), Args...args)
 Calls an event on the queue.
template<typename F , typename... Args>
int call_in (int ms, Args...args)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename... Args>
int call_in (int ms, T *obj, R(T::*method)(Args...args), Args...args)
 Calls an event on the queue after a specified delay.
template<typename F , typename... Args>
int call_every (int ms, F f, Args...args)
 Calls an event on the queue periodically.
template<typename T , typename R , typename... Args>
int call_every (int ms, T *obj, R(T::*method)(Args...args), Args...args)
 Calls an event on the queue periodically.
template<typename R , typename... BoundArgs, typename... Args>
Event< void(Args...)> event (R(*func)(BoundArgs...), Args...args)
 Creates an event bound to the event queue.
template<typename T , typename R , typename... BoundArgs, typename... ContextArgs, typename... Args>
Event< void(Args...)> event (T *obj, R(T::*method)(BoundArgs..., Args...), ContextArgs...context_args)
 Creates an event bound to the event queue.
template<typename R , typename... BoundArgs, typename... ContextArgs, typename... Args>
Event< void(Args...)> event (mbed::Callback< R(BoundArgs..., Args...)> cb, ContextArgs...context_args)
 Creates an event bound to the event queue.
template<typename F >
int call (F f)
 Calls an event on the queue.
template<typename F , typename A0 >
int call (F f, A0 a0)
 Calls an event on the queue.
template<typename F , typename A0 , typename A1 >
int call (F f, A0 a0, A1 a1)
 Calls an event on the queue.
template<typename F , typename A0 , typename A1 , typename A2 >
int call (F f, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 >
int call (F f, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call (F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue.
template<typename T , typename R >
int call (T *obj, R(T::*method)())
 Calls an event on the queue.
template<typename T , typename R >
int call (const T *obj, R(T::*method)() const)
 Calls an event on the queue.
template<typename T , typename R >
int call (volatile T *obj, R(T::*method)() volatile)
 Calls an event on the queue.
template<typename T , typename R >
int call (const volatile T *obj, R(T::*method)() const volatile)
 Calls an event on the queue.
template<typename T , typename R , typename A0 >
int call (T *obj, R(T::*method)(A0), A0 a0)
 Calls an event on the queue.
template<typename T , typename R , typename A0 >
int call (const T *obj, R(T::*method)(A0) const, A0 a0)
 Calls an event on the queue.
template<typename T , typename R , typename A0 >
int call (volatile T *obj, R(T::*method)(A0) volatile, A0 a0)
 Calls an event on the queue.
template<typename T , typename R , typename A0 >
int call (const volatile T *obj, R(T::*method)(A0) const volatile, A0 a0)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 >
int call (T *obj, R(T::*method)(A0, A1), A0 a0, A1 a1)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 >
int call (const T *obj, R(T::*method)(A0, A1) const, A0 a0, A1 a1)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 >
int call (volatile T *obj, R(T::*method)(A0, A1) volatile, A0 a0, A1 a1)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 >
int call (const volatile T *obj, R(T::*method)(A0, A1) const volatile, A0 a0, A1 a1)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call (T *obj, R(T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call (const T *obj, R(T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call (volatile T *obj, R(T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call (const volatile T *obj, R(T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call (T *obj, R(T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call (const T *obj, R(T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call (volatile T *obj, R(T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call (const volatile T *obj, R(T::*method)(A0, A1, A2, A3) const volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call (T *obj, R(T::*method)(A0, A1, A2, A3, A4), A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call (const T *obj, R(T::*method)(A0, A1, A2, A3, A4) const, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call (volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call (const volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) const volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue.
template<typename F >
int call_in (int ms, F f)
 Calls an event on the queue after a specified delay.
template<typename F , typename A0 >
int call_in (int ms, F f, A0 a0)
 Calls an event on the queue after a specified delay.
template<typename F , typename A0 , typename A1 >
int call_in (int ms, F f, A0 a0, A1 a1)
 Calls an event on the queue after a specified delay.
template<typename F , typename A0 , typename A1 , typename A2 >
int call_in (int ms, F f, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue after a specified delay.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 >
int call_in (int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue after a specified delay.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_in (int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue after a specified delay.
template<typename T , typename R >
int call_in (int ms, T *obj, R(T::*method)())
 Calls an event on the queue after a specified delay.
template<typename T , typename R >
int call_in (int ms, const T *obj, R(T::*method)() const)
 Calls an event on the queue after a specified delay.
template<typename T , typename R >
int call_in (int ms, volatile T *obj, R(T::*method)() volatile)
 Calls an event on the queue after a specified delay.
template<typename T , typename R >
int call_in (int ms, const volatile T *obj, R(T::*method)() const volatile)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 >
int call_in (int ms, T *obj, R(T::*method)(A0), A0 a0)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 >
int call_in (int ms, const T *obj, R(T::*method)(A0) const, A0 a0)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 >
int call_in (int ms, volatile T *obj, R(T::*method)(A0) volatile, A0 a0)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 >
int call_in (int ms, const volatile T *obj, R(T::*method)(A0) const volatile, A0 a0)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 >
int call_in (int ms, T *obj, R(T::*method)(A0, A1), A0 a0, A1 a1)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 >
int call_in (int ms, const T *obj, R(T::*method)(A0, A1) const, A0 a0, A1 a1)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 >
int call_in (int ms, volatile T *obj, R(T::*method)(A0, A1) volatile, A0 a0, A1 a1)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 >
int call_in (int ms, const volatile T *obj, R(T::*method)(A0, A1) const volatile, A0 a0, A1 a1)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_in (int ms, T *obj, R(T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_in (int ms, const T *obj, R(T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_in (int ms, volatile T *obj, R(T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_in (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_in (int ms, T *obj, R(T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_in (int ms, const T *obj, R(T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_in (int ms, volatile T *obj, R(T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_in (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2, A3) const volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_in (int ms, T *obj, R(T::*method)(A0, A1, A2, A3, A4), A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_in (int ms, const T *obj, R(T::*method)(A0, A1, A2, A3, A4) const, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_in (int ms, volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue after a specified delay.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_in (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) const volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue after a specified delay.
template<typename F >
int call_every (int ms, F f)
 Calls an event on the queue periodically.
template<typename F , typename A0 >
int call_every (int ms, F f, A0 a0)
 Calls an event on the queue periodically.
template<typename F , typename A0 , typename A1 >
int call_every (int ms, F f, A0 a0, A1 a1)
 Calls an event on the queue periodically.
template<typename F , typename A0 , typename A1 , typename A2 >
int call_every (int ms, F f, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue periodically.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 >
int call_every (int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue periodically.
template<typename F , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_every (int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue periodically.
template<typename T , typename R >
int call_every (int ms, T *obj, R(T::*method)())
 Calls an event on the queue periodically.
template<typename T , typename R >
int call_every (int ms, const T *obj, R(T::*method)() const)
 Calls an event on the queue periodically.
template<typename T , typename R >
int call_every (int ms, volatile T *obj, R(T::*method)() volatile)
 Calls an event on the queue periodically.
template<typename T , typename R >
int call_every (int ms, const volatile T *obj, R(T::*method)() const volatile)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 >
int call_every (int ms, T *obj, R(T::*method)(A0), A0 a0)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 >
int call_every (int ms, const T *obj, R(T::*method)(A0) const, A0 a0)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 >
int call_every (int ms, volatile T *obj, R(T::*method)(A0) volatile, A0 a0)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 >
int call_every (int ms, const volatile T *obj, R(T::*method)(A0) const volatile, A0 a0)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 >
int call_every (int ms, T *obj, R(T::*method)(A0, A1), A0 a0, A1 a1)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 >
int call_every (int ms, const T *obj, R(T::*method)(A0, A1) const, A0 a0, A1 a1)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 >
int call_every (int ms, volatile T *obj, R(T::*method)(A0, A1) volatile, A0 a0, A1 a1)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 >
int call_every (int ms, const volatile T *obj, R(T::*method)(A0, A1) const volatile, A0 a0, A1 a1)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_every (int ms, T *obj, R(T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_every (int ms, const T *obj, R(T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_every (int ms, volatile T *obj, R(T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
int call_every (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_every (int ms, T *obj, R(T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_every (int ms, const T *obj, R(T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_every (int ms, volatile T *obj, R(T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
int call_every (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2, A3) const volatile, A0 a0, A1 a1, A2 a2, A3 a3)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_every (int ms, T *obj, R(T::*method)(A0, A1, A2, A3, A4), A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_every (int ms, const T *obj, R(T::*method)(A0, A1, A2, A3, A4) const, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_every (int ms, volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue periodically.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
int call_every (int ms, const volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) const volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
 Calls an event on the queue periodically.
template<typename R >
Event< void()> event (R(*func)())
 Creates an event bound to the event queue.
template<typename T , typename R >
Event< void()> event (T *obj, R(T::*method)())
 Creates an event bound to the event queue.
template<typename T , typename R >
Event< void()> event (const T *obj, R(T::*method)() const)
 Creates an event bound to the event queue.
template<typename T , typename R >
Event< void()> event (volatile T *obj, R(T::*method)() volatile)
 Creates an event bound to the event queue.
template<typename T , typename R >
Event< void()> event (const volatile T *obj, R(T::*method)() const volatile)
 Creates an event bound to the event queue.
template<typename R >
Event< void()> event (mbed::Callback< R()> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 >
Event< void()> event (R(*func)(B0), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 >
Event< void()> event (T *obj, R(T::*method)(B0), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 >
Event< void()> event (const T *obj, R(T::*method)(B0) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 >
Event< void()> event (volatile T *obj, R(T::*method)(B0) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 >
Event< void()> event (const volatile T *obj, R(T::*method)(B0) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 >
Event< void()> event (mbed::Callback< R(B0)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (R(*func)(B0, B1), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (T *obj, R(T::*method)(B0, B1), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (const T *obj, R(T::*method)(B0, B1) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (volatile T *obj, R(T::*method)(B0, B1) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (const volatile T *obj, R(T::*method)(B0, B1) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 >
Event< void()> event (mbed::Callback< R(B0, B1)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (R(*func)(B0, B1, B2), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (T *obj, R(T::*method)(B0, B1, B2), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (const T *obj, R(T::*method)(B0, B1, B2) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (volatile T *obj, R(T::*method)(B0, B1, B2) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (const volatile T *obj, R(T::*method)(B0, B1, B2) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 >
Event< void()> event (mbed::Callback< R(B0, B1, B2)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (R(*func)(B0, B1, B2, B3), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (T *obj, R(T::*method)(B0, B1, B2, B3), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (const T *obj, R(T::*method)(B0, B1, B2, B3) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 >
Event< void()> event (mbed::Callback< R(B0, B1, B2, B3)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (R(*func)(B0, B1, B2, B3, B4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 >
Event< void()> event (mbed::Callback< R(B0, B1, B2, B3, B4)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename A0 >
Event< void(A0)> event (R(*func)(A0))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(A0))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(A0) const)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(A0) volatile)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(A0) const volatile)
 Creates an event bound to the event queue.
template<typename R , typename A0 >
Event< void(A0)> event (mbed::Callback< R(A0)> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (R(*func)(B0, A0), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(B0, A0), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(B0, A0) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(B0, A0) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(B0, A0) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 >
Event< void(A0)> event (mbed::Callback< R(B0, A0)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (R(*func)(B0, B1, A0), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(B0, B1, A0), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(B0, B1, A0) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(B0, B1, A0) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(B0, B1, A0) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 >
Event< void(A0)> event (mbed::Callback< R(B0, B1, A0)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (R(*func)(B0, B1, B2, A0), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(B0, B1, B2, A0), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(B0, B1, B2, A0) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(B0, B1, B2, A0) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, A0) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 >
Event< void(A0)> event (mbed::Callback< R(B0, B1, B2, A0)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (R(*func)(B0, B1, B2, B3, A0), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(B0, B1, B2, B3, A0), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, A0) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 >
Event< void(A0)> event (mbed::Callback< R(B0, B1, B2, B3, A0)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (R(*func)(B0, B1, B2, B3, B4, A0), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 >
Event< void(A0)> event (mbed::Callback< R(B0, B1, B2, B3, B4, A0)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(A0, A1))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(A0, A1))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(A0, A1) const)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(A0, A1) volatile)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(A0, A1) const volatile)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(A0, A1)> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(B0, A0, A1), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(B0, A0, A1), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(B0, A0, A1) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(B0, A0, A1) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(B0, A0, A1) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(B0, A0, A1)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(B0, B1, A0, A1), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(B0, B1, A0, A1), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(B0, B1, A0, A1) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(B0, B1, A0, A1) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(B0, B1, A0, A1) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(B0, B1, A0, A1)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(B0, B1, B2, A0, A1), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(B0, B1, B2, A0, A1), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(B0, B1, B2, A0, A1) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(B0, B1, B2, A0, A1)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(B0, B1, B2, B3, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(B0, B1, B2, B3, A0, A1)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (R(*func)(B0, B1, B2, B3, B4, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 >
Event< void(A0, A1)> event (mbed::Callback< R(B0, B1, B2, B3, B4, A0, A1)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(A0, A1, A2))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(A0, A1, A2))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(A0, A1, A2) const)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(A0, A1, A2) volatile)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(A0, A1, A2) const volatile)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(A0, A1, A2)> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(B0, A0, A1, A2), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(B0, A0, A1, A2), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(B0, A0, A1, A2) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(B0, A0, A1, A2) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(B0, A0, A1, A2) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(B0, A0, A1, A2)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(B0, B1, A0, A1, A2), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(B0, B1, A0, A1, A2), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(B0, B1, A0, A1, A2) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(B0, B1, A0, A1, A2)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(B0, B1, B2, A0, A1, A2), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(B0, B1, B2, A0, A1, A2)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(B0, B1, B2, B3, A0, A1, A2), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(B0, B1, B2, B3, A0, A1, A2)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (R(*func)(B0, B1, B2, B3, B4, A0, A1, A2), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 >
Event< void(A0, A1, A2)> event (mbed::Callback< R(B0, B1, B2, B3, B4, A0, A1, A2)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(A0, A1, A2, A3))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(A0, A1, A2, A3))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(A0, A1, A2, A3) const)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(A0, A1, A2, A3) volatile)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(A0, A1, A2, A3) const volatile)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(A0, A1, A2, A3)> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(B0, A0, A1, A2, A3), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(B0, A0, A1, A2, A3), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(B0, A0, A1, A2, A3) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(B0, A0, A1, A2, A3) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(B0, A0, A1, A2, A3) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(B0, A0, A1, A2, A3)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(B0, B1, A0, A1, A2, A3), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(B0, B1, A0, A1, A2, A3)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(B0, B1, B2, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(B0, B1, B2, A0, A1, A2, A3)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(B0, B1, B2, B3, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(B0, B1, B2, B3, A0, A1, A2, A3)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (R(*func)(B0, B1, B2, B3, B4, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 >
Event< void(A0, A1, A2, A3)> event (mbed::Callback< R(B0, B1, B2, B3, B4, A0, A1, A2, A3)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(A0, A1, A2, A3, A4))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(A0, A1, A2, A3, A4))
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(A0, A1, A2, A3, A4) const)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) volatile)
 Creates an event bound to the event queue.
template<typename T , typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(A0, A1, A2, A3, A4) const volatile)
 Creates an event bound to the event queue.
template<typename R , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(A0, A1, A2, A3, A4)> cb)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(B0, A0, A1, A2, A3, A4), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(B0, A0, A1, A2, A3, A4), C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(B0, A0, A1, A2, A3, A4) const, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(B0, A0, A1, A2, A3, A4) volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(B0, A0, A1, A2, A3, A4) const volatile, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename C0 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(B0, A0, A1, A2, A3, A4)> cb, C0 c0)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(B0, B1, A0, A1, A2, A3, A4), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3, A4), C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3, A4) const, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3, A4) volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(B0, B1, A0, A1, A2, A3, A4) const volatile, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename C0 , typename C1 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(B0, B1, A0, A1, A2, A3, A4)> cb, C0 c0, C1 c1)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(B0, B1, B2, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3, A4) const, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3, A4) volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, A0, A1, A2, A3, A4) const volatile, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename C0 , typename C1 , typename C2 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(B0, B1, B2, A0, A1, A2, A3, A4)> cb, C0 c0, C1 c1, C2 c2)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(B0, B1, B2, B3, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3, A4) const, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3, A4) volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, A0, A1, A2, A3, A4) const volatile, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename C0 , typename C1 , typename C2 , typename C3 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(B0, B1, B2, B3, A0, A1, A2, A3, A4)> cb, C0 c0, C1 c1, C2 c2, C3 c3)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (R(*func)(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4) const, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4) volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename T , typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (const volatile T *obj, R(T::*method)(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4) const volatile, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.
template<typename R , typename B0 , typename B1 , typename B2 , typename B3 , typename B4 , typename C0 , typename C1 , typename C2 , typename C3 , typename C4 , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
Event< void(A0, A1, A2, A3, A4)> event (mbed::Callback< R(B0, B1, B2, B3, B4, A0, A1, A2, A3, A4)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4)
 Creates an event bound to the event queue.

Private Member Functions

 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.

Detailed Description

EventQueue.

Flexible event queue for dispatching events

Definition at line 51 of file events/EventQueue.h.


Constructor & Destructor Documentation

EventQueue ( unsigned  size = EVENTS_QUEUE_SIZE,
unsigned char *  buffer = NULL 
)

Create an EventQueue.

Create an event queue. The event queue either allocates a buffer of the specified size with malloc or uses the user provided buffer.

Parameters:
sizeSize of buffer to use for events in bytes (default to EVENTS_QUEUE_SIZE)
bufferPointer to buffer to use for events (default to NULL)

Definition at line 29 of file EventQueue_stub.cpp.

~EventQueue (  )

Destroy an EventQueue.

Definition at line 33 of file EventQueue_stub.cpp.


Member Function Documentation

void background ( mbed::Callback< void(int)>  update )

Background an event queue onto a single-shot timer-interrupt.

When updated, the event queue will call the provided update function with a timeout indicating when the queue should be dispatched. A negative timeout will be passed to the update function when the timer-interrupt is no longer needed.

Passing a null function disables the existing update function.

The background function allows an event queue to take advantage of hardware timers or other event loops, allowing an event queue to be ran in the background without consuming the foreground thread.

Parameters:
updateFunction called to indicate when the queue should be dispatched
void break_dispatch (  )

Break out of a running event loop.

Forces the specified event queue's dispatch loop to terminate. Pending events may finish executing, but no new events will be executed.

Definition at line 41 of file EventQueue_stub.cpp.

int call ( f,
Args...  args 
)

Calls an event on the queue.

The specified callback will be executed in the context of the event queue's dispatch loop.

The call function is irq safe and can act as a mechanism for moving events out of irq contexts.

Parameters:
fFunction to execute in the context of the dispatch loop
argsArguments to pass to the callback
Returns:
A unique id that represents the posted event and can be passed to cancel, or an id of 0 if there is not enough memory to allocate the event. Returned id will remain valid until event has finished executing.
     #include "mbed.h"

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // events are simple callbacks
         queue.call(printf, "called immediately\n");

         // the dispatch method executes events
         queue.dispatch();
     }
int call ( f )

Calls an event on the queue.

The specified callback is executed in the context of the event queue's dispatch loop.

The call function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
fFunction to execute in the context of the dispatch loop
Returns:
A unique ID that represents the posted event and can be passed to cancel, or an ID of 0 if there is not enough memory to allocate the event. Returned ID remains valid until event has finished executing.
     #include "mbed.h"

     int main()
     {
         EventQueue queue;

         Callback<void(int)> cb(handler);

         // Create event on the eventqueue with a separate callback object
         Event<void(int)> e = queue.event(cb);
         e.post(1);
         queue.dispatch();
     }

Definition at line 606 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(A0, A1)  method,
A0  a0,
A1  a1 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 750 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)(A0, A1) const   method,
A0  a0,
A1  a1 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 759 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)(A0, A1) volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 768 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)(A0, A1) const volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 777 of file events/EventQueue.h.

int call ( f,
A0  a0 
)

Calls an event on the queue.

See also:
EventQueue::call
Parameters:
fFunction to execute in the context of the dispatch loop
a0Argument to pass to the callback

Definition at line 625 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(A0, A1, A2)  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 786 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)(A0, A1, A2) const   method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 795 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)(A0, A1, A2) volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 804 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)(A0, A1, A2) const volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 813 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(Args...args)  method,
Args...  args 
)

Calls an event on the queue.

The specified callback is executed in the context of the event queue's dispatch loop.

The call function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
objObject to call with the member function
methodMember function to execute in the context of the dispatch loop
argsArguments to pass to the callback
Returns:
A unique ID that represents the posted event and can be passed to cancel, or an ID of 0 if there is not enough memory to allocate the event. Returned ID remains valid until event has finished executing.
     #include "mbed.h"

     class EventHandler {
         int _id;
     public:
         EventHandler(int id) : _id(id) { }

         void handler(int c) {
             printf("ID: %d Param: %d\r\n", _id, c);
         }
     };

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // Create EventHandler object with state
         EventHandler handler_cb(1);

         // events are simple callbacks, call object method
         // with provided parameter
         queue.call(&handler_cb, &EventHandler::handler, 2);

         // the dispath method executes events
         queue.dispatch();
     }
int call ( f,
A0  a0,
A1  a1 
)

Calls an event on the queue.

See also:
EventQueue::call
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1Arguments to pass to the callback

Definition at line 636 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(A0, A1, A2, A3)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 822 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)(A0, A1, A2, A3) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 831 of file events/EventQueue.h.

int call ( f,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue.

See also:
EventQueue::call
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2Arguments to pass to the callback

Definition at line 647 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)(A0, A1, A2, A3) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 840 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)(A0, A1, A2, A3) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 849 of file events/EventQueue.h.

int call ( f,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue.

See also:
EventQueue::call
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3Arguments to pass to the callback

Definition at line 658 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(A0, A1, A2, A3, A4)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 858 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 867 of file events/EventQueue.h.

int call ( f,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue.

See also:
EventQueue::call
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3,a4Arguments to pass to the callback

Definition at line 669 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 876 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 885 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)()  method 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 678 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)() const   method 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 687 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)() volatile  method 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 696 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)() const volatile  method 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 705 of file events/EventQueue.h.

int call ( T *  obj,
R(T::*)(A0)  method,
A0  a0 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 714 of file events/EventQueue.h.

int call ( const T *  obj,
R(T::*)(A0) const   method,
A0  a0 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 723 of file events/EventQueue.h.

int call ( volatile T *  obj,
R(T::*)(A0) volatile  method,
A0  a0 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 732 of file events/EventQueue.h.

int call ( const volatile T *  obj,
R(T::*)(A0) const volatile  method,
A0  a0 
)

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 741 of file events/EventQueue.h.

int call_every ( int  ms,
f 
)

Calls an event on the queue periodically.

Note:
The first call_every event occurs after the specified delay. To create a periodic event that fires immediately,
See also:
Event.

The specified callback will be executed in the context of the event queue's dispatch loop.

The call_every function is irq safe and can act as a mechanism for moving events out of irq contexts.

Parameters:
fFunction to execute in the context of the dispatch loop
msPeriod of the event in milliseconds
Returns:
A unique id that represents the posted event and can be passed to cancel, or an id of 0 if there is not enough memory to allocate the event.

Definition at line 1212 of file events/EventQueue.h.

int call_every ( int  ms,
f,
A0  a0 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every
Parameters:
fFunction to execute in the context of the dispatch loop
a0Argument to pass to the callback
msPeriod of the event in milliseconds

Definition at line 1233 of file events/EventQueue.h.

int call_every ( int  ms,
f,
A0  a0,
A1  a1 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1Arguments to pass to the callback
msPeriod of the event in milliseconds

Definition at line 1245 of file events/EventQueue.h.

int call_every ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2Arguments to pass to the callback
msPeriod of the event in milliseconds

Definition at line 1257 of file events/EventQueue.h.

int call_every ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3Arguments to pass to the callback
msPeriod of the event in milliseconds

Definition at line 1269 of file events/EventQueue.h.

int call_every ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every
Parameters:
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3,a4Arguments to pass to the callback
msPeriod of the event in milliseconds

Definition at line 1281 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)()  method 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1290 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)() const   method 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1299 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)() volatile  method 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1308 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)() const volatile  method 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1317 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)(A0)  method,
A0  a0 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1326 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)(A0) const   method,
A0  a0 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1335 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)(A0) volatile  method,
A0  a0 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1344 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)(A0) const volatile  method,
A0  a0 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1353 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)(A0, A1)  method,
A0  a0,
A1  a1 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1362 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)(A0, A1) const   method,
A0  a0,
A1  a1 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1371 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1) volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1380 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1) const volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1389 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2)  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1398 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2) const   method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1407 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2) volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1416 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2) const volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1425 of file events/EventQueue.h.

int call_every ( int  ms,
f,
Args...  args 
)

Calls an event on the queue periodically.

Note:
The first call_every event occurs after the specified delay. To create a periodic event that fires immediately,
See also:
Event.

The specified callback is executed in the context of the event queue's dispatch loop.

The call_every function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
msPeriod of the event in milliseconds
fFunction to execute in the context of the dispatch loop
argsArguments to pass to the callback
Returns:
A unique ID that represents the posted event and can be passed to cancel, or an ID of 0 if there is not enough memory to allocate the event.
     #include "mbed.h"

     class EventHandler {
         int _id;
     public:
         EventHandler(int id) : _id(id) { }

         void handler(int c) {
             printf("ID: %d Param: %d\r\n", _id, c);
         }
     };

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // events are simple callbacks, call every 2 seconds
         queue.call_every(2000, printf, "Calling every 2 seconds\n");

         // the dispatch method executes events
         queue.dispatch();
     }
int call_every ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2, A3)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1434 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2, A3) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1443 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2, A3) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1452 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2, A3) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1461 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2, A3, A4)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1470 of file events/EventQueue.h.

int call_every ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1479 of file events/EventQueue.h.

int call_every ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1488 of file events/EventQueue.h.

int call_every ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue periodically.

See also:
EventQueue::call_every

Definition at line 1497 of file events/EventQueue.h.

int call_every ( int  ms,
T *  obj,
R(T::*)(Args...args)  method,
Args...  args 
)

Calls an event on the queue periodically.

Note:
The first call_every event occurs after the specified delay. To create a periodic event that fires immediately,
See also:
Event.

The specified callback is executed in the context of the event queue's dispatch loop.

The call_every function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
msPeriod of the event in milliseconds
objObject to call with the member function
methodMember function to execute in the context of the dispatch loop
argsArguments to pass to the callback
     #include "mbed.h"

     class EventHandler {
         int _id;
     public:
         EventHandler(int id) : _id(id) { }

         void handler(int c) {
             printf("ID: %d Param: %d\r\n", _id, c);
         }
     };

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // Create EventHandler object with state
         EventHandler handler_cb(5);

         // events are simple callbacks, call object method every 2 seconds
         // with provided parameter
         queue.call_every(2000, &handler_cb, &EventHandler::handler, 6);

         // the dispatch method executes events
         queue.dispatch();
     }
int call_in ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1) volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1072 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1) const volatile  method,
A0  a0,
A1  a1 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1081 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2)  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1090 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2) const   method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1099 of file events/EventQueue.h.

int call_in ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2) volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1108 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2) const volatile  method,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1117 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2, A3)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1126 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2, A3) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1135 of file events/EventQueue.h.

int call_in ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2, A3) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1144 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2, A3) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1153 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(A0, A1, A2, A3, A4)  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1162 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const   method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1171 of file events/EventQueue.h.

int call_in ( int  ms,
volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1180 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)(A0, A1, A2, A3, A4) const volatile  method,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1189 of file events/EventQueue.h.

int call_in ( int  ms,
Args...  args 
)

Calls an event on the queue after a specified delay.

The specified callback is executed in the context of the event queue's dispatch loop.

The call_in function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
msTime to delay in milliseconds
argsArguments to pass to the callback
Returns:
A unique ID that represents the posted event and can be passed to cancel, or an ID of 0 if there is not enough memory to allocate the event.
     #include "mbed.h"

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // events are simple callbacks
         queue.call_in(2000, printf, "called in 2 seconds\n");

         // the dispatch methods executes events
         queue.dispatch();
     }
int call_in ( int  ms,
f 
)

Calls an event on the queue after a specified delay.

The specified callback will be executed in the context of the event queue's dispatch loop.

The call_in function is irq safe and can act as a mechanism for moving events out of irq contexts.

Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
Returns:
A unique id that represents the posted event and can be passed to cancel, or an id of 0 if there is not enough memory to allocate the event.

Definition at line 905 of file events/EventQueue.h.

int call_in ( int  ms,
f,
A0  a0 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in
Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
a0Argument to pass to the callback

Definition at line 925 of file events/EventQueue.h.

int call_in ( int  ms,
f,
A0  a0,
A1  a1 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in
Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
a0,a1Arguments to pass to the callback

Definition at line 937 of file events/EventQueue.h.

int call_in ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in
Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
a0,a1,a2Arguments to pass to the callback

Definition at line 949 of file events/EventQueue.h.

int call_in ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2,
A3  a3 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in
Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3Arguments to pass to the callback

Definition at line 961 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(Args...args)  method,
Args...  args 
)

Calls an event on the queue after a specified delay.

The specified callback is executed in the context of the event queue's dispatch loop.

The call_in function is IRQ safe and can act as a mechanism for moving events out of IRQ contexts.

Parameters:
msTime to delay in milliseconds
objObject to call with the member function
methodMember function to execute in the context of the dispatch loop
argsArguments to pass to the callback
Returns:
A unique ID that represents the posted event and can be passed to cancel, or an ID of 0 if there is not enough memory to allocate the event.
     #include "mbed.h"

     class EventHandler {
         int _id;
     public:
         EventHandler(int id) : _id(id) { }

         void handler(int c) {
             printf("ID: %d Param: %d\r\n", _id, c);
         }
     };

     int main() {
         // creates a queue with the default size
         EventQueue queue;

         // Create EventHandler object with state
         EventHandler handler_cb(3);

         // events are simple callbacks, call object method in 2 seconds
         // with provided parameter
         queue.call_in(2000, &handler_cb, &EventHandler::handler, 4);

         // the dispatch method executes events
         queue.dispatch();
     }
int call_in ( int  ms,
f,
A0  a0,
A1  a1,
A2  a2,
A3  a3,
A4  a4 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in
Parameters:
msTime to delay in milliseconds
fFunction to execute in the context of the dispatch loop
a0,a1,a2,a3,a4Arguments to pass to the callback

Definition at line 973 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)()  method 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 982 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)() const   method 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 991 of file events/EventQueue.h.

int call_in ( int  ms,
volatile T *  obj,
R(T::*)() volatile  method 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1000 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)() const volatile  method 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1009 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(A0)  method,
A0  a0 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1018 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)(A0) const   method,
A0  a0 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1027 of file events/EventQueue.h.

int call_in ( int  ms,
volatile T *  obj,
R(T::*)(A0) volatile  method,
A0  a0 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1036 of file events/EventQueue.h.

int call_in ( int  ms,
const volatile T *  obj,
R(T::*)(A0) const volatile  method,
A0  a0 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1045 of file events/EventQueue.h.

int call_in ( int  ms,
T *  obj,
R(T::*)(A0, A1)  method,
A0  a0,
A1  a1 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1054 of file events/EventQueue.h.

int call_in ( int  ms,
const T *  obj,
R(T::*)(A0, A1) const   method,
A0  a0,
A1  a1 
)

Calls an event on the queue after a specified delay.

See also:
EventQueue::call_in

Definition at line 1063 of file events/EventQueue.h.

void cancel ( int  id )

Cancel an in-flight event.

Attempts to cancel an event referenced by the unique id returned from one of the call functions. It is safe to call cancel after an event has already been dispatched.

id must be valid i.e. event must have not finished executing.

The cancel function is irq safe.

If called while the event queue's dispatch loop is active, the cancel function does not guarantee that the event will not execute after it returns, as the event may have already begun executing.

Parameters:
idUnique id of the event

Definition at line 50 of file EventQueue_stub.cpp.

void chain ( EventQueue target )

Chain an event queue onto another event queue.

After chaining a queue to a target, calling dispatch on the target queue will also dispatch events from this queue. The queues use their own buffers and events must be handled independently.

A null queue as the target will unchain the existing queue.

The chain function allows multiple event queues to be composed, sharing the context of a dispatch loop while still being managed independently

Parameters:
targetQueue that will dispatch this queue's events as a part of its dispatch loop

Definition at line 63 of file EventQueue_stub.cpp.

void dispatch ( int  ms = -1 )

Dispatch events.

Executes events until the specified milliseconds have passed. If ms is negative, the dispatch function will dispatch events indefinitely or until break_dispatch is called on this queue.

When called with a finite timeout, the dispatch function is guaranteed to terminate. When called with a timeout of 0, the dispatch function does not wait and is irq safe.

Parameters:
msTime to wait for events in milliseconds, a negative value will dispatch events indefinitely (default to -1)

Definition at line 37 of file EventQueue_stub.cpp.

void dispatch_forever (  )

Dispatch events without a timeout.

This is equivalent to EventQueue::dispatch with no arguments, but avoids overload ambiguities when passed as a callback.

See also:
EventQueue::dispatch

Definition at line 92 of file events/EventQueue.h.

Event<void(Args...)> event ( R(*)(BoundArgs...)  func,
Args...  args 
)

Creates an event bound to the event queue.

Constructs an event bound to the specified event queue. The specified callback acts as the target for the event and is executed in the context of the event queue's dispatch loop once posted.

Parameters:
funcFunction to execute when the event is dispatched
argsArguments to pass to the callback
Returns:
Event that dispatches on the specific queue
     #include "mbed.h"

     void handler(int c) {
         printf("Param: %d\r\n", c);
     }

     int main()
     {
         EventQueue queue;

         // Create event with parameter
         Event<void()>    e  = queue.event(handler, 1);
         e();

         // Create event and post parameter later
         Event<void(int)> e2 = queue.event(handler);

         // Post the event with paramter 8
         e.post(8);

         // The dispatch method executes events
         queue.dispatch();

         e2.post(2);

         queue.dispatch();
     }
Event<void(Args...)> event ( T *  obj,
R(T::*)(BoundArgs..., Args...)  method,
ContextArgs...  context_args 
)

Creates an event bound to the event queue.

Constructs an event bound to the specified event queue. The specified callback acts as the target for the event and is executed in the context of the event queue's dispatch loop once posted.

Parameters:
objObject to call with the member function
methodMember function to execute in the context of the dispatch loop
context_argsArguments to pass to the callback
Returns:
Event that dispatches on the specific queue
     #include "mbed.h"

     class EventHandler {
         int _id;

     public:
         EventHandler(int id) : _id(id) { }

         void handler(int c) {
             printf("ID: %d Param: %d\r\n", _id, c);
         }
     };

     int main()
     {
         EventQueue queue;

         EventHandler handler_cb(10);

         // Create event on the eventqueue with a method callback
         Event<void(int)> e = queue.event(&handler_cb, &EventHandler::handler);

         // Post the event with paramter 8
         e.post(11);

         // The dispatch method executes events
         queue.dispatch();
     }
Event<void(Args...)> event ( mbed::Callback< R(BoundArgs..., Args...)>  cb,
ContextArgs...  context_args 
)

Creates an event bound to the event queue.

Constructs an event bound to the specified event queue. The specified callback acts as the target for the event and is executed in the context of the event queue's dispatch loop once posted.

Parameters:
cbCallback object
context_argsArguments to pass to the callback
Returns:
Event that dispatches on the specific queue
     #include "mbed.h"

     void handler(int c) {
         printf("Param: %d\r\n", c);
     }

     int main()
     {
         EventQueue queue;
         // Create callback object acting as a function
         // pointer to handler
         Callback<void(int)> cb(handler);

         // Pass the callback object to the eventqueue
         Event<void(int)> e = queue.event(cb);

         // Post the event with parameter 8
         e.post(9);

         // The dispatch method executes events
         q.dispatch();
     }
unsigned tick (  )

Millisecond counter.

Returns the underlying tick of the event queue represented as the number of milliseconds that have passed since an arbitrary point in time. Intentionally overflows to 0 after 2^32-1.

Returns:
The underlying tick of the event queue in milliseconds

Definition at line 45 of file EventQueue_stub.cpp.

int time_left ( int  id )

Query how much time is left for delayed event.

If the event is delayed, this function can be used to query how much time is left until the event is due to be dispatched.

id must be valid i.e. event must have not finished executing.

This function is irq safe.

Parameters:
idUnique id of the event
Returns:
Remaining time in milliseconds or 0 if event is already due to be dispatched or is currently executing. Undefined if id is invalid.

Definition at line 54 of file EventQueue_stub.cpp.