Rtos API example

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.
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 >
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 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)
~EventQueue (  )

Destroy an EventQueue.


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.

int call ( f )

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
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 176 of file 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 193 of file EventQueue.h.

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

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 257 of file 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 385 of file 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 393 of file 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 265 of file 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 401 of file 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 409 of file 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 273 of file 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 417 of file 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 425 of file 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 281 of file EventQueue.h.

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 203 of file 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 289 of file 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 297 of file 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 213 of file 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 305 of file 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 313 of file 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 223 of file 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 321 of file 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 329 of file 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 233 of file 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 337 of file 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 345 of file EventQueue.h.

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

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 241 of file 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 353 of file 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 361 of file EventQueue.h.

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

Calls an event on the queue.

See also:
EventQueue::call

Definition at line 249 of file 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 369 of file 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 377 of file EventQueue.h.

int call_every ( int  ms,
f 
)

Calls an event on the queue periodically.

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 718 of file 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 738 of file 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 749 of file 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 760 of file 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 771 of file 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 782 of file 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 790 of file 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 798 of file 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 806 of file 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 814 of file 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 822 of file 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 830 of file 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 838 of file 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 846 of file 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 854 of file 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 862 of file 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 870 of file 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 878 of file 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 886 of file 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 894 of file 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 902 of file 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 910 of file EventQueue.h.

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 918 of file 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 926 of file 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 934 of file 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 942 of file 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 950 of file 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 958 of file 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 966 of file 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 974 of file 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 675 of file 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 683 of file 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 691 of file 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 699 of file EventQueue.h.

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:
fFunction to execute in the context of the dispatch loop
msTime to delay 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 444 of file 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 463 of file 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 474 of file 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 485 of file 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 496 of file EventQueue.h.

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 507 of file 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 515 of file 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 523 of file 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 531 of file 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 539 of file 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 547 of file 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 555 of file 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 563 of file 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 571 of file 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 579 of file 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 587 of file EventQueue.h.

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 595 of file 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 603 of file 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 611 of file 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 619 of file 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 627 of file 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 635 of file 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 643 of file 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 651 of file 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 659 of file 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 667 of file 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.

The cancel function is irq safe.

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

Parameters:
idUnique id of the event
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
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)
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 EventQueue.h.

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