This is a fork of the `events` subdirectory of https://github.com/ARMmbed/mbed-os
Dependents: HelloWorld_CCA01M1 HelloWorld_CCA02M1 CI-data-logger-server HelloWorld_CCA02M1 ... more
This is a fork of the events
subdirectory of https://github.com/ARMmbed/mbed-os.
Note, you must import this library with import name: events
!!!
EventQueue.h@9832:b95afde9ef7e, 2017-09-05 (annotated)
- Committer:
- Wolfgang Betz
- Date:
- Tue Sep 05 09:09:24 2017 +0200
- Revision:
- 9832:b95afde9ef7e
- Parent:
- 9827:e0aec41dde77
Merge branch 'master' of hg::http://developer.mbed.org/teams/ST/code/ST_Events into events-split
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Bogdan Marinescu |
0:a792d4bf36c2 | 1 | /* events |
Bogdan Marinescu |
0:a792d4bf36c2 | 2 | * Copyright (c) 2016 ARM Limited |
Bogdan Marinescu |
0:a792d4bf36c2 | 3 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
Bogdan Marinescu |
0:a792d4bf36c2 | 5 | * you may not use this file except in compliance with the License. |
Bogdan Marinescu |
0:a792d4bf36c2 | 6 | * You may obtain a copy of the License at |
Bogdan Marinescu |
0:a792d4bf36c2 | 7 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
Bogdan Marinescu |
0:a792d4bf36c2 | 9 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 10 | * Unless required by applicable law or agreed to in writing, software |
Bogdan Marinescu |
0:a792d4bf36c2 | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
Bogdan Marinescu |
0:a792d4bf36c2 | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
Bogdan Marinescu |
0:a792d4bf36c2 | 13 | * See the License for the specific language governing permissions and |
Bogdan Marinescu |
0:a792d4bf36c2 | 14 | * limitations under the License. |
Bogdan Marinescu |
0:a792d4bf36c2 | 15 | */ |
Christopher Haster |
7:80510299c57c | 16 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 17 | #ifndef EVENT_QUEUE_H |
Bogdan Marinescu |
0:a792d4bf36c2 | 18 | #define EVENT_QUEUE_H |
Bogdan Marinescu |
0:a792d4bf36c2 | 19 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 20 | #include "equeue/equeue.h" |
Sam Grove |
2:a60d8117d0e0 | 21 | #include "platform/Callback.h" |
Vincent Coubard |
9827:e0aec41dde77 | 22 | #include "platform/NonCopyable.h" |
Bogdan Marinescu |
0:a792d4bf36c2 | 23 | #include <cstddef> |
Bogdan Marinescu |
0:a792d4bf36c2 | 24 | #include <new> |
Bogdan Marinescu |
0:a792d4bf36c2 | 25 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 26 | namespace events { |
Jimmy Brisson |
5:705843a08e16 | 27 | /** \addtogroup events */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 28 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 29 | /** EVENTS_EVENT_SIZE |
Bogdan Marinescu |
0:a792d4bf36c2 | 30 | * Minimum size of an event |
Bogdan Marinescu |
0:a792d4bf36c2 | 31 | * This size fits a Callback<void()> at minimum |
Bogdan Marinescu |
0:a792d4bf36c2 | 32 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 33 | #define EVENTS_EVENT_SIZE \ |
Bogdan Marinescu |
0:a792d4bf36c2 | 34 | (EQUEUE_EVENT_SIZE - 2*sizeof(void*) + sizeof(mbed::Callback<void()>)) |
Bogdan Marinescu |
0:a792d4bf36c2 | 35 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 36 | /** EVENTS_QUEUE_SIZE |
Bogdan Marinescu |
0:a792d4bf36c2 | 37 | * Default size of buffer for events |
Bogdan Marinescu |
0:a792d4bf36c2 | 38 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 39 | #define EVENTS_QUEUE_SIZE (32*EVENTS_EVENT_SIZE) |
Bogdan Marinescu |
0:a792d4bf36c2 | 40 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 41 | // Predeclared classes |
Bogdan Marinescu |
0:a792d4bf36c2 | 42 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 43 | class Event; |
Bogdan Marinescu |
0:a792d4bf36c2 | 44 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 45 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 46 | /** EventQueue |
Bogdan Marinescu |
0:a792d4bf36c2 | 47 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 48 | * Flexible event queue for dispatching events |
Jimmy Brisson |
9822:fb4e93c12c32 | 49 | * @ingroup events |
Bogdan Marinescu |
0:a792d4bf36c2 | 50 | */ |
Vincent Coubard |
9827:e0aec41dde77 | 51 | class EventQueue : private mbed::NonCopyable<EventQueue> { |
Bogdan Marinescu |
0:a792d4bf36c2 | 52 | public: |
Bogdan Marinescu |
0:a792d4bf36c2 | 53 | /** Create an EventQueue |
Bogdan Marinescu |
0:a792d4bf36c2 | 54 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 55 | * Create an event queue. The event queue either allocates a buffer of |
Bogdan Marinescu |
0:a792d4bf36c2 | 56 | * the specified size with malloc or uses the user provided buffer. |
Bogdan Marinescu |
0:a792d4bf36c2 | 57 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 58 | * @param size Size of buffer to use for events in bytes |
Bogdan Marinescu |
0:a792d4bf36c2 | 59 | * (default to EVENTS_QUEUE_SIZE) |
Bogdan Marinescu |
0:a792d4bf36c2 | 60 | * @param buffer Pointer to buffer to use for events |
Bogdan Marinescu |
0:a792d4bf36c2 | 61 | * (default to NULL) |
Bogdan Marinescu |
0:a792d4bf36c2 | 62 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 63 | EventQueue(unsigned size=EVENTS_QUEUE_SIZE, unsigned char *buffer=NULL); |
Bogdan Marinescu |
0:a792d4bf36c2 | 64 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 65 | /** Destroy an EventQueue |
Bogdan Marinescu |
0:a792d4bf36c2 | 66 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 67 | ~EventQueue(); |
Bogdan Marinescu |
0:a792d4bf36c2 | 68 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 69 | /** Dispatch events |
Bogdan Marinescu |
0:a792d4bf36c2 | 70 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 71 | * Executes events until the specified milliseconds have passed. |
Bogdan Marinescu |
0:a792d4bf36c2 | 72 | * If ms is negative, the dispatch function will dispatch events |
Bogdan Marinescu |
0:a792d4bf36c2 | 73 | * indefinitely or until break_dispatch is called on this queue. |
Bogdan Marinescu |
0:a792d4bf36c2 | 74 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 75 | * When called with a finite timeout, the dispatch function is guaranteed |
Bogdan Marinescu |
0:a792d4bf36c2 | 76 | * to terminate. When called with a timeout of 0, the dispatch function |
Bogdan Marinescu |
0:a792d4bf36c2 | 77 | * does not wait and is irq safe. |
Bogdan Marinescu |
0:a792d4bf36c2 | 78 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 79 | * @param ms Time to wait for events in milliseconds, a negative |
Bogdan Marinescu |
0:a792d4bf36c2 | 80 | * value will dispatch events indefinitely |
Bogdan Marinescu |
0:a792d4bf36c2 | 81 | * (default to -1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 82 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 83 | void dispatch(int ms=-1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 84 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 85 | /** Dispatch events without a timeout |
Bogdan Marinescu |
0:a792d4bf36c2 | 86 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 87 | * This is equivalent to EventQueue::dispatch with no arguments, but |
Bogdan Marinescu |
0:a792d4bf36c2 | 88 | * avoids overload ambiguities when passed as a callback. |
Bogdan Marinescu |
0:a792d4bf36c2 | 89 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 90 | * @see EventQueue::dispatch |
Bogdan Marinescu |
0:a792d4bf36c2 | 91 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 92 | void dispatch_forever() { dispatch(); } |
Bogdan Marinescu |
0:a792d4bf36c2 | 93 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 94 | /** Break out of a running event loop |
Bogdan Marinescu |
0:a792d4bf36c2 | 95 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 96 | * Forces the specified event queue's dispatch loop to terminate. Pending |
Bogdan Marinescu |
0:a792d4bf36c2 | 97 | * events may finish executing, but no new events will be executed. |
Bogdan Marinescu |
0:a792d4bf36c2 | 98 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 99 | void break_dispatch(); |
Bogdan Marinescu |
0:a792d4bf36c2 | 100 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 101 | /** Millisecond counter |
Bogdan Marinescu |
0:a792d4bf36c2 | 102 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 103 | * Returns the underlying tick of the event queue represented as the |
Bogdan Marinescu |
0:a792d4bf36c2 | 104 | * number of milliseconds that have passed since an arbitrary point in |
Bogdan Marinescu |
0:a792d4bf36c2 | 105 | * time. Intentionally overflows to 0 after 2^32-1. |
Bogdan Marinescu |
0:a792d4bf36c2 | 106 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 107 | * @return The underlying tick of the event queue in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 108 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 109 | unsigned tick(); |
Bogdan Marinescu |
0:a792d4bf36c2 | 110 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 111 | /** Cancel an in-flight event |
Bogdan Marinescu |
0:a792d4bf36c2 | 112 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 113 | * Attempts to cancel an event referenced by the unique id returned from |
Bogdan Marinescu |
0:a792d4bf36c2 | 114 | * one of the call functions. It is safe to call cancel after an event |
Bogdan Marinescu |
0:a792d4bf36c2 | 115 | * has already been dispatched. |
Bogdan Marinescu |
0:a792d4bf36c2 | 116 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 117 | * The cancel function is irq safe. |
Bogdan Marinescu |
0:a792d4bf36c2 | 118 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 119 | * If called while the event queue's dispatch loop is active, the cancel |
Bogdan Marinescu |
0:a792d4bf36c2 | 120 | * function does not garuntee that the event will not execute after it |
Bogdan Marinescu |
0:a792d4bf36c2 | 121 | * returns, as the event may have already begun executing. |
Bogdan Marinescu |
0:a792d4bf36c2 | 122 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 123 | * @param id Unique id of the event |
Bogdan Marinescu |
0:a792d4bf36c2 | 124 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 125 | void cancel(int id); |
Bogdan Marinescu |
0:a792d4bf36c2 | 126 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 127 | /** Background an event queue onto a single-shot timer-interrupt |
Bogdan Marinescu |
0:a792d4bf36c2 | 128 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 129 | * When updated, the event queue will call the provided update function |
Bogdan Marinescu |
0:a792d4bf36c2 | 130 | * with a timeout indicating when the queue should be dispatched. A |
Bogdan Marinescu |
0:a792d4bf36c2 | 131 | * negative timeout will be passed to the update function when the |
Bogdan Marinescu |
0:a792d4bf36c2 | 132 | * timer-interrupt is no longer needed. |
Bogdan Marinescu |
0:a792d4bf36c2 | 133 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 134 | * Passing a null function disables the existing update function. |
Bogdan Marinescu |
0:a792d4bf36c2 | 135 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 136 | * The background function allows an event queue to take advantage of |
Bogdan Marinescu |
0:a792d4bf36c2 | 137 | * hardware timers or other event loops, allowing an event queue to be |
Bogdan Marinescu |
0:a792d4bf36c2 | 138 | * ran in the background without consuming the foreground thread. |
Bogdan Marinescu |
0:a792d4bf36c2 | 139 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 140 | * @param update Function called to indicate when the queue should be |
Bogdan Marinescu |
0:a792d4bf36c2 | 141 | * dispatched |
Bogdan Marinescu |
0:a792d4bf36c2 | 142 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 143 | void background(mbed::Callback<void(int)> update); |
Bogdan Marinescu |
0:a792d4bf36c2 | 144 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 145 | /** Chain an event queue onto another event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 146 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 147 | * After chaining a queue to a target, calling dispatch on the target |
Bogdan Marinescu |
0:a792d4bf36c2 | 148 | * queue will also dispatch events from this queue. The queues use |
Bogdan Marinescu |
0:a792d4bf36c2 | 149 | * their own buffers and events must be handled independently. |
Bogdan Marinescu |
0:a792d4bf36c2 | 150 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 151 | * A null queue as the target will unchain the existing queue. |
Bogdan Marinescu |
0:a792d4bf36c2 | 152 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 153 | * The chain function allows multiple event queues to be composed, |
Bogdan Marinescu |
0:a792d4bf36c2 | 154 | * sharing the context of a dispatch loop while still being managed |
Bogdan Marinescu |
0:a792d4bf36c2 | 155 | * independently |
Bogdan Marinescu |
0:a792d4bf36c2 | 156 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 157 | * @param target Queue that will dispatch this queue's events as a |
Bogdan Marinescu |
0:a792d4bf36c2 | 158 | * part of its dispatch loop |
Bogdan Marinescu |
0:a792d4bf36c2 | 159 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 160 | void chain(EventQueue *target); |
Bogdan Marinescu |
0:a792d4bf36c2 | 161 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 162 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 163 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 164 | * The specified callback will be executed in the context of the event |
Bogdan Marinescu |
0:a792d4bf36c2 | 165 | * queue's dispatch loop. |
Bogdan Marinescu |
0:a792d4bf36c2 | 166 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 167 | * The call function is irq safe and can act as a mechanism for moving |
Bogdan Marinescu |
0:a792d4bf36c2 | 168 | * events out of irq contexts. |
Bogdan Marinescu |
0:a792d4bf36c2 | 169 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 170 | * @param f Function to execute in the context of the dispatch loop |
Bogdan Marinescu |
0:a792d4bf36c2 | 171 | * @return A unique id that represents the posted event and can |
Bogdan Marinescu |
0:a792d4bf36c2 | 172 | * be passed to cancel, or an id of 0 if there is not |
Bogdan Marinescu |
0:a792d4bf36c2 | 173 | * enough memory to allocate the event. |
Bogdan Marinescu |
0:a792d4bf36c2 | 174 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 175 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 176 | int call(F f) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 177 | void *p = equeue_alloc(&_equeue, sizeof(F)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 178 | if (!p) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 179 | return 0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 180 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 181 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 182 | F *e = new (p) F(f); |
Christopher Haster |
7:80510299c57c | 183 | equeue_event_dtor(e, &EventQueue::function_dtor<F>); |
Christopher Haster |
7:80510299c57c | 184 | return equeue_post(&_equeue, &EventQueue::function_call<F>, e); |
Bogdan Marinescu |
0:a792d4bf36c2 | 185 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 186 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 187 | /** Calls an event on the queue |
Kevin Gilbert |
9826:8fd8270f98e4 | 188 | * @see EventQueue::call |
Kevin Gilbert |
9826:8fd8270f98e4 | 189 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 190 | * @param a0 Argument to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 191 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 192 | template <typename F, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 193 | int call(F f, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 194 | return call(context10<F, A0>(f, a0)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 195 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 196 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 197 | /** Calls an event on the queue |
Kevin Gilbert |
9826:8fd8270f98e4 | 198 | * @see EventQueue::call |
Kevin Gilbert |
9826:8fd8270f98e4 | 199 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 200 | * @param a0,a1 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 201 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 202 | template <typename F, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 203 | int call(F f, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 204 | return call(context20<F, A0, A1>(f, a0, a1)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 205 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 206 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 207 | /** Calls an event on the queue |
Kevin Gilbert |
9826:8fd8270f98e4 | 208 | * @see EventQueue::call |
Kevin Gilbert |
9826:8fd8270f98e4 | 209 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 210 | * @param a0,a1,a2 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 211 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 212 | template <typename F, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 213 | int call(F f, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 214 | return call(context30<F, A0, A1, A2>(f, a0, a1, a2)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 215 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 216 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 217 | /** Calls an event on the queue |
Kevin Gilbert |
9826:8fd8270f98e4 | 218 | * @see EventQueue::call |
Kevin Gilbert |
9826:8fd8270f98e4 | 219 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 220 | * @param a0,a1,a2,a3 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 221 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 222 | template <typename F, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 223 | int call(F f, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 224 | return call(context40<F, A0, A1, A2, A3>(f, a0, a1, a2, a3)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 225 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 226 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 227 | /** Calls an event on the queue |
Kevin Gilbert |
9826:8fd8270f98e4 | 228 | * @see EventQueue::call |
Kevin Gilbert |
9826:8fd8270f98e4 | 229 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 230 | * @param a0,a1,a2,a3,a4 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 231 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 232 | template <typename F, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 233 | int call(F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 234 | return call(context50<F, A0, A1, A2, A3, A4>(f, a0, a1, a2, a3, a4)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 235 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 236 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 237 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 238 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 239 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 240 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 241 | int call(T *obj, R (T::*method)()) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 242 | return call(mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 243 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 244 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 245 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 246 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 247 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 248 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 249 | int call(const T *obj, R (T::*method)() const) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 250 | return call(mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 251 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 252 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 253 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 254 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 255 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 256 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 257 | int call(volatile T *obj, R (T::*method)() volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 258 | return call(mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 259 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 260 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 261 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 262 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 263 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 264 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 265 | int call(const volatile T *obj, R (T::*method)() const volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 266 | return call(mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 267 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 268 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 269 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 270 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 271 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 272 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 273 | int call(T *obj, R (T::*method)(A0), A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 274 | return call(mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 275 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 276 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 277 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 278 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 279 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 280 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 281 | int call(const T *obj, R (T::*method)(A0) const, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 282 | return call(mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 283 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 284 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 285 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 286 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 287 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 288 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 289 | int call(volatile T *obj, R (T::*method)(A0) volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 290 | return call(mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 291 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 292 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 293 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 294 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 295 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 296 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 297 | int call(const volatile T *obj, R (T::*method)(A0) const volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 298 | return call(mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 299 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 300 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 301 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 302 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 303 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 304 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 305 | int call(T *obj, R (T::*method)(A0, A1), A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 306 | return call(mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 307 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 308 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 309 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 310 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 311 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 312 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 313 | int call(const T *obj, R (T::*method)(A0, A1) const, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 314 | return call(mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 315 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 316 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 317 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 318 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 319 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 320 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 321 | int call(volatile T *obj, R (T::*method)(A0, A1) volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 322 | return call(mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 323 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 324 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 325 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 326 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 327 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 328 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 329 | int call(const volatile T *obj, R (T::*method)(A0, A1) const volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 330 | return call(mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 331 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 332 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 333 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 334 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 335 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 336 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 337 | int call(T *obj, R (T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 338 | return call(mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 339 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 340 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 341 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 342 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 343 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 344 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 345 | int call(const T *obj, R (T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 346 | return call(mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 347 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 348 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 349 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 350 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 351 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 352 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 353 | int call(volatile T *obj, R (T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 354 | return call(mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 355 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 356 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 357 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 358 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 359 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 360 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 361 | int call(const volatile T *obj, R (T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 362 | return call(mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 363 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 364 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 365 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 366 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 367 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 368 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 369 | int call(T *obj, R (T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 370 | return call(mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 371 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 372 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 373 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 374 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 375 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 376 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 377 | int call(const T *obj, R (T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 378 | return call(mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 379 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 380 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 381 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 382 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 383 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 384 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 385 | int call(volatile T *obj, R (T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 386 | return call(mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 387 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 388 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 389 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 390 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 391 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 392 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 393 | int call(const volatile T *obj, R (T::*method)(A0, A1, A2, A3) const volatile, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 394 | return call(mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 395 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 396 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 397 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 398 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 399 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 400 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 401 | int call(T *obj, R (T::*method)(A0, A1, A2, A3, A4), A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 402 | return call(mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 403 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 404 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 405 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 406 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 407 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 408 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 409 | int call(const T *obj, R (T::*method)(A0, A1, A2, A3, A4) const, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 410 | return call(mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 411 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 412 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 413 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 414 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 415 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 416 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 417 | int call(volatile T *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 418 | return call(mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 419 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 420 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 421 | /** Calls an event on the queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 422 | * @see EventQueue::call |
Bogdan Marinescu |
0:a792d4bf36c2 | 423 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 424 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 425 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 426 | return call(mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 427 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 428 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 429 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 430 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 431 | * The specified callback will be executed in the context of the event |
Bogdan Marinescu |
0:a792d4bf36c2 | 432 | * queue's dispatch loop. |
Bogdan Marinescu |
0:a792d4bf36c2 | 433 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 434 | * The call_in function is irq safe and can act as a mechanism for moving |
Bogdan Marinescu |
0:a792d4bf36c2 | 435 | * events out of irq contexts. |
Bogdan Marinescu |
0:a792d4bf36c2 | 436 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 437 | * @param f Function to execute in the context of the dispatch loop |
Bogdan Marinescu |
0:a792d4bf36c2 | 438 | * @param ms Time to delay in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 439 | * @return A unique id that represents the posted event and can |
Bogdan Marinescu |
0:a792d4bf36c2 | 440 | * be passed to cancel, or an id of 0 if there is not |
Bogdan Marinescu |
0:a792d4bf36c2 | 441 | * enough memory to allocate the event. |
Bogdan Marinescu |
0:a792d4bf36c2 | 442 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 443 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 444 | int call_in(int ms, F f) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 445 | void *p = equeue_alloc(&_equeue, sizeof(F)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 446 | if (!p) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 447 | return 0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 448 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 449 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 450 | F *e = new (p) F(f); |
Bogdan Marinescu |
0:a792d4bf36c2 | 451 | equeue_event_delay(e, ms); |
Christopher Haster |
7:80510299c57c | 452 | equeue_event_dtor(e, &EventQueue::function_dtor<F>); |
Christopher Haster |
7:80510299c57c | 453 | return equeue_post(&_equeue, &EventQueue::function_call<F>, e); |
Bogdan Marinescu |
0:a792d4bf36c2 | 454 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 455 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 456 | /** Calls an event on the queue after a specified delay |
Kevin Gilbert |
9826:8fd8270f98e4 | 457 | * @see EventQueue::call_in |
Kevin Gilbert |
9826:8fd8270f98e4 | 458 | * @param ms Time to delay in milliseconds |
Kevin Gilbert |
9826:8fd8270f98e4 | 459 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 460 | * @param a0 Argument to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 461 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 462 | template <typename F, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 463 | int call_in(int ms, F f, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 464 | return call_in(ms, context10<F, A0>(f, a0)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 465 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 466 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 467 | /** Calls an event on the queue after a specified delay |
Kevin Gilbert |
9826:8fd8270f98e4 | 468 | * @see EventQueue::call_in |
Kevin Gilbert |
9826:8fd8270f98e4 | 469 | * @param ms Time to delay in milliseconds |
Kevin Gilbert |
9826:8fd8270f98e4 | 470 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 471 | * @param a0,a1 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 472 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 473 | template <typename F, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 474 | int call_in(int ms, F f, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 475 | return call_in(ms, context20<F, A0, A1>(f, a0, a1)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 476 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 477 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 478 | /** Calls an event on the queue after a specified delay |
Kevin Gilbert |
9826:8fd8270f98e4 | 479 | * @see EventQueue::call_in |
Kevin Gilbert |
9826:8fd8270f98e4 | 480 | * @param ms Time to delay in milliseconds |
Kevin Gilbert |
9826:8fd8270f98e4 | 481 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 482 | * @param a0,a1,a2 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 483 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 484 | template <typename F, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 485 | int call_in(int ms, F f, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 486 | return call_in(ms, context30<F, A0, A1, A2>(f, a0, a1, a2)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 487 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 488 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 489 | /** Calls an event on the queue after a specified delay |
Kevin Gilbert |
9826:8fd8270f98e4 | 490 | * @see EventQueue::call_in |
Kevin Gilbert |
9826:8fd8270f98e4 | 491 | * @param ms Time to delay in milliseconds |
Kevin Gilbert |
9826:8fd8270f98e4 | 492 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 493 | * @param a0,a1,a2,a3 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 494 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 495 | template <typename F, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 496 | int call_in(int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 497 | return call_in(ms, context40<F, A0, A1, A2, A3>(f, a0, a1, a2, a3)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 498 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 499 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 500 | /** Calls an event on the queue after a specified delay |
Kevin Gilbert |
9826:8fd8270f98e4 | 501 | * @see EventQueue::call_in |
Kevin Gilbert |
9826:8fd8270f98e4 | 502 | * @param ms Time to delay in milliseconds |
Kevin Gilbert |
9826:8fd8270f98e4 | 503 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 504 | * @param a0,a1,a2,a3,a4 Arguments to pass to the callback |
Bogdan Marinescu |
0:a792d4bf36c2 | 505 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 506 | template <typename F, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 507 | int call_in(int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 508 | return call_in(ms, context50<F, A0, A1, A2, A3, A4>(f, a0, a1, a2, a3, a4)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 509 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 510 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 511 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 512 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 513 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 514 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 515 | int call_in(int ms, T *obj, R (T::*method)()) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 516 | return call_in(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 517 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 518 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 519 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 520 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 521 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 522 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 523 | int call_in(int ms, const T *obj, R (T::*method)() const) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 524 | return call_in(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 525 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 526 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 527 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 528 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 529 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 530 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 531 | int call_in(int ms, volatile T *obj, R (T::*method)() volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 532 | return call_in(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 533 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 534 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 535 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 536 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 537 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 538 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 539 | int call_in(int ms, const volatile T *obj, R (T::*method)() const volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 540 | return call_in(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 541 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 542 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 543 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 544 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 545 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 546 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 547 | int call_in(int ms, T *obj, R (T::*method)(A0), A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 548 | return call_in(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 549 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 550 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 551 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 552 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 553 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 554 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 555 | int call_in(int ms, const T *obj, R (T::*method)(A0) const, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 556 | return call_in(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 557 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 558 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 559 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 560 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 561 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 562 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 563 | int call_in(int ms, volatile T *obj, R (T::*method)(A0) volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 564 | return call_in(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 565 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 566 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 567 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 568 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 569 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 570 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 571 | int call_in(int ms, const volatile T *obj, R (T::*method)(A0) const volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 572 | return call_in(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 573 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 574 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 575 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 576 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 577 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 578 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 579 | int call_in(int ms, T *obj, R (T::*method)(A0, A1), A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 580 | return call_in(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 581 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 582 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 583 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 584 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 585 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 586 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 587 | int call_in(int ms, const T *obj, R (T::*method)(A0, A1) const, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 588 | return call_in(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 589 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 590 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 591 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 592 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 593 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 594 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 595 | int call_in(int ms, volatile T *obj, R (T::*method)(A0, A1) volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 596 | return call_in(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 597 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 598 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 599 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 600 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 601 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 602 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 603 | int call_in(int ms, const volatile T *obj, R (T::*method)(A0, A1) const volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 604 | return call_in(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 605 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 606 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 607 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 608 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 609 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 610 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 611 | int call_in(int ms, T *obj, R (T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 612 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 613 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 614 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 615 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 616 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 617 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 618 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 619 | int call_in(int ms, const T *obj, R (T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 620 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 621 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 622 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 623 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 624 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 625 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 626 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 627 | int call_in(int ms, volatile T *obj, R (T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 628 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 629 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 630 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 631 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 632 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 633 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 634 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 635 | int call_in(int ms, const volatile T *obj, R (T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 636 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 637 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 638 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 639 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 640 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 641 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 642 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 643 | int call_in(int ms, T *obj, R (T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 644 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 645 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 646 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 647 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 648 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 649 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 650 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 651 | int call_in(int ms, const T *obj, R (T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 652 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 653 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 654 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 655 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 656 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 657 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 658 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 659 | int call_in(int ms, volatile T *obj, R (T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 660 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 661 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 662 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 663 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 664 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 665 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 666 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 667 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 668 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 669 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 670 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 671 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 672 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 673 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 674 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 675 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 676 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 677 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 678 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 679 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 680 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 681 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 682 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 683 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 684 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 685 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 686 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 687 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 688 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 689 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 690 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 691 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 692 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 693 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 694 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 695 | /** Calls an event on the queue after a specified delay |
Bogdan Marinescu |
0:a792d4bf36c2 | 696 | * @see EventQueue::call_in |
Bogdan Marinescu |
0:a792d4bf36c2 | 697 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 698 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 699 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 700 | return call_in(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 701 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 702 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 703 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 704 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 705 | * The specified callback will be executed in the context of the event |
Bogdan Marinescu |
0:a792d4bf36c2 | 706 | * queue's dispatch loop. |
Bogdan Marinescu |
0:a792d4bf36c2 | 707 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 708 | * The call_every function is irq safe and can act as a mechanism for |
Bogdan Marinescu |
0:a792d4bf36c2 | 709 | * moving events out of irq contexts. |
Bogdan Marinescu |
0:a792d4bf36c2 | 710 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 711 | * @param f Function to execute in the context of the dispatch loop |
Bogdan Marinescu |
0:a792d4bf36c2 | 712 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 713 | * @return A unique id that represents the posted event and can |
Bogdan Marinescu |
0:a792d4bf36c2 | 714 | * be passed to cancel, or an id of 0 if there is not |
Bogdan Marinescu |
0:a792d4bf36c2 | 715 | * enough memory to allocate the event. |
Bogdan Marinescu |
0:a792d4bf36c2 | 716 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 717 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 718 | int call_every(int ms, F f) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 719 | void *p = equeue_alloc(&_equeue, sizeof(F)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 720 | if (!p) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 721 | return 0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 722 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 723 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 724 | F *e = new (p) F(f); |
Bogdan Marinescu |
0:a792d4bf36c2 | 725 | equeue_event_delay(e, ms); |
Bogdan Marinescu |
0:a792d4bf36c2 | 726 | equeue_event_period(e, ms); |
Christopher Haster |
7:80510299c57c | 727 | equeue_event_dtor(e, &EventQueue::function_dtor<F>); |
Christopher Haster |
7:80510299c57c | 728 | return equeue_post(&_equeue, &EventQueue::function_call<F>, e); |
Bogdan Marinescu |
0:a792d4bf36c2 | 729 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 730 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 731 | /** Calls an event on the queue periodically |
Kevin Gilbert |
9826:8fd8270f98e4 | 732 | * @see EventQueue::call_every |
Kevin Gilbert |
9826:8fd8270f98e4 | 733 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 734 | * @param a0 Argument to pass to the callback |
Kevin Gilbert |
9826:8fd8270f98e4 | 735 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 736 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 737 | template <typename F, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 738 | int call_every(int ms, F f, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 739 | return call_every(ms, context10<F, A0>(f, a0)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 740 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 741 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 742 | /** Calls an event on the queue periodically |
Kevin Gilbert |
9826:8fd8270f98e4 | 743 | * @see EventQueue::call_every |
Kevin Gilbert |
9826:8fd8270f98e4 | 744 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 745 | * @param a0,a1 Arguments to pass to the callback |
Kevin Gilbert |
9826:8fd8270f98e4 | 746 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 747 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 748 | template <typename F, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 749 | int call_every(int ms, F f, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 750 | return call_every(ms, context20<F, A0, A1>(f, a0, a1)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 751 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 752 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 753 | /** Calls an event on the queue periodically |
Kevin Gilbert |
9826:8fd8270f98e4 | 754 | * @see EventQueue::call_every |
Kevin Gilbert |
9826:8fd8270f98e4 | 755 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 756 | * @param a0,a1,a2 Arguments to pass to the callback |
Kevin Gilbert |
9826:8fd8270f98e4 | 757 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 758 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 759 | template <typename F, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 760 | int call_every(int ms, F f, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 761 | return call_every(ms, context30<F, A0, A1, A2>(f, a0, a1, a2)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 762 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 763 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 764 | /** Calls an event on the queue periodically |
Kevin Gilbert |
9826:8fd8270f98e4 | 765 | * @see EventQueue::call_every |
Kevin Gilbert |
9826:8fd8270f98e4 | 766 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 767 | * @param a0,a1,a2,a3 Arguments to pass to the callback |
Kevin Gilbert |
9826:8fd8270f98e4 | 768 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 769 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 770 | template <typename F, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 771 | int call_every(int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 772 | return call_every(ms, context40<F, A0, A1, A2, A3>(f, a0, a1, a2, a3)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 773 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 774 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 775 | /** Calls an event on the queue periodically |
Kevin Gilbert |
9826:8fd8270f98e4 | 776 | * @see EventQueue::call_every |
Kevin Gilbert |
9826:8fd8270f98e4 | 777 | * @param f Function to execute in the context of the dispatch loop |
Kevin Gilbert |
9826:8fd8270f98e4 | 778 | * @param a0,a1,a2,a3,a4 Arguments to pass to the callback |
Kevin Gilbert |
9826:8fd8270f98e4 | 779 | * @param ms Period of the event in milliseconds |
Bogdan Marinescu |
0:a792d4bf36c2 | 780 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 781 | template <typename F, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 782 | int call_every(int ms, F f, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 783 | return call_every(ms, context50<F, A0, A1, A2, A3, A4>(f, a0, a1, a2, a3, a4)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 784 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 785 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 786 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 787 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 788 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 789 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 790 | int call_every(int ms, T *obj, R (T::*method)()) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 791 | return call_every(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 792 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 793 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 794 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 795 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 796 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 797 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 798 | int call_every(int ms, const T *obj, R (T::*method)() const) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 799 | return call_every(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 800 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 801 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 802 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 803 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 804 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 805 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 806 | int call_every(int ms, volatile T *obj, R (T::*method)() volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 807 | return call_every(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 808 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 809 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 810 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 811 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 812 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 813 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 814 | int call_every(int ms, const volatile T *obj, R (T::*method)() const volatile) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 815 | return call_every(ms, mbed::callback(obj, method)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 816 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 817 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 818 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 819 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 820 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 821 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 822 | int call_every(int ms, T *obj, R (T::*method)(A0), A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 823 | return call_every(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 824 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 825 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 826 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 827 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 828 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 829 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 830 | int call_every(int ms, const T *obj, R (T::*method)(A0) const, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 831 | return call_every(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 832 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 833 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 834 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 835 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 836 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 837 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 838 | int call_every(int ms, volatile T *obj, R (T::*method)(A0) volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 839 | return call_every(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 840 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 841 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 842 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 843 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 844 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 845 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 846 | int call_every(int ms, const volatile T *obj, R (T::*method)(A0) const volatile, A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 847 | return call_every(ms, mbed::callback(obj, method), a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 848 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 849 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 850 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 851 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 852 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 853 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 854 | int call_every(int ms, T *obj, R (T::*method)(A0, A1), A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 855 | return call_every(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 856 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 857 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 858 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 859 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 860 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 861 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 862 | int call_every(int ms, const T *obj, R (T::*method)(A0, A1) const, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 863 | return call_every(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 864 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 865 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 866 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 867 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 868 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 869 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 870 | int call_every(int ms, volatile T *obj, R (T::*method)(A0, A1) volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 871 | return call_every(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 872 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 873 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 874 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 875 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 876 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 877 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 878 | int call_every(int ms, const volatile T *obj, R (T::*method)(A0, A1) const volatile, A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 879 | return call_every(ms, mbed::callback(obj, method), a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 880 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 881 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 882 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 883 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 884 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 885 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 886 | int call_every(int ms, T *obj, R (T::*method)(A0, A1, A2), A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 887 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 888 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 889 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 890 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 891 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 892 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 893 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 894 | int call_every(int ms, const T *obj, R (T::*method)(A0, A1, A2) const, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 895 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 896 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 897 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 898 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 899 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 900 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 901 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 902 | int call_every(int ms, volatile T *obj, R (T::*method)(A0, A1, A2) volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 903 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 904 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 905 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 906 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 907 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 908 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 909 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 910 | int call_every(int ms, const volatile T *obj, R (T::*method)(A0, A1, A2) const volatile, A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 911 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 912 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 913 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 914 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 915 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 916 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 917 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 918 | int call_every(int ms, T *obj, R (T::*method)(A0, A1, A2, A3), A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 919 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 920 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 921 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 922 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 923 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 924 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 925 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 926 | int call_every(int ms, const T *obj, R (T::*method)(A0, A1, A2, A3) const, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 927 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 928 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 929 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 930 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 931 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 932 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 933 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 934 | int call_every(int ms, volatile T *obj, R (T::*method)(A0, A1, A2, A3) volatile, A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 935 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 936 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 937 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 938 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 939 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 940 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 941 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 942 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 943 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 944 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 945 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 946 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 947 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 948 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 949 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 950 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 951 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 952 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 953 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 954 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 955 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 956 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 957 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 958 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 959 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 960 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 961 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 962 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 963 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 964 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 965 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 966 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 967 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 968 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 969 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 970 | /** Calls an event on the queue periodically |
Bogdan Marinescu |
0:a792d4bf36c2 | 971 | * @see EventQueue::call_every |
Bogdan Marinescu |
0:a792d4bf36c2 | 972 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 973 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 974 | 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) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 975 | return call_every(ms, mbed::callback(obj, method), a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 976 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 977 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 978 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 979 | * |
Bogdan Marinescu |
0:a792d4bf36c2 | 980 | * Constructs an event bound to the specified event queue. The specified |
Bogdan Marinescu |
0:a792d4bf36c2 | 981 | * callback acts as the target for the event and is executed in the |
Bogdan Marinescu |
0:a792d4bf36c2 | 982 | * context of the event queue's dispatch loop once posted. |
Bogdan Marinescu |
0:a792d4bf36c2 | 983 | * |
Kevin Gilbert |
9826:8fd8270f98e4 | 984 | * @param func Function to execute when the event is dispatched |
Kevin Gilbert |
9826:8fd8270f98e4 | 985 | * @return Event that will dispatch on the specific queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 986 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 987 | template <typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 988 | Event<void()> event(R (*func)()); |
Bogdan Marinescu |
0:a792d4bf36c2 | 989 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 990 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 991 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 992 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 993 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 994 | Event<void()> event(T *obj, R (T::*method)()); |
Bogdan Marinescu |
0:a792d4bf36c2 | 995 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 996 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 997 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 998 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 999 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1000 | Event<void()> event(const T *obj, R (T::*method)() const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1001 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1002 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1003 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1004 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1005 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1006 | Event<void()> event(volatile T *obj, R (T::*method)() volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1007 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1008 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1009 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1010 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1011 | template <typename T, typename R> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1012 | Event<void()> event(const volatile T *obj, R (T::*method)() const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1013 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1014 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1015 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1016 | */ |
Christopher Haster |
14:65535458dd6f | 1017 | template <typename R> |
Christopher Haster |
14:65535458dd6f | 1018 | Event<void()> event(mbed::Callback<R()> cb); |
Christopher Haster |
14:65535458dd6f | 1019 | |
Christopher Haster |
14:65535458dd6f | 1020 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1021 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1022 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1023 | template <typename R, typename B0, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1024 | Event<void()> event(R (*func)(B0), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1025 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1026 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1027 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1028 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1029 | template <typename T, typename R, typename B0, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1030 | Event<void()> event(T *obj, R (T::*method)(B0), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1031 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1032 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1033 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1034 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1035 | template <typename T, typename R, typename B0, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1036 | Event<void()> event(const T *obj, R (T::*method)(B0) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1037 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1038 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1039 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1040 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1041 | template <typename T, typename R, typename B0, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1042 | Event<void()> event(volatile T *obj, R (T::*method)(B0) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1043 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1044 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1045 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1046 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1047 | template <typename T, typename R, typename B0, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1048 | Event<void()> event(const volatile T *obj, R (T::*method)(B0) const volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1049 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1050 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1051 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1052 | */ |
Christopher Haster |
14:65535458dd6f | 1053 | template <typename R, typename B0, typename C0> |
Christopher Haster |
14:65535458dd6f | 1054 | Event<void()> event(mbed::Callback<R(B0)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 1055 | |
Christopher Haster |
14:65535458dd6f | 1056 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1057 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1058 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1059 | template <typename R, typename B0, typename B1, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1060 | Event<void()> event(R (*func)(B0, B1), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1061 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1062 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1063 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1064 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1065 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1066 | Event<void()> event(T *obj, R (T::*method)(B0, B1), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1067 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1068 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1069 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1070 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1071 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1072 | Event<void()> event(const T *obj, R (T::*method)(B0, B1) const, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1073 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1074 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1075 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1076 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1077 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1078 | Event<void()> event(volatile T *obj, R (T::*method)(B0, B1) volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1079 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1080 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1081 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1082 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1083 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1084 | Event<void()> event(const volatile T *obj, R (T::*method)(B0, B1) const volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1085 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1086 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1087 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1088 | */ |
Christopher Haster |
14:65535458dd6f | 1089 | template <typename R, typename B0, typename B1, typename C0, typename C1> |
Christopher Haster |
14:65535458dd6f | 1090 | Event<void()> event(mbed::Callback<R(B0, B1)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 1091 | |
Christopher Haster |
14:65535458dd6f | 1092 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1093 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1094 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1095 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1096 | Event<void()> event(R (*func)(B0, B1, B2), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1097 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1098 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1099 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1100 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1101 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1102 | Event<void()> event(T *obj, R (T::*method)(B0, B1, B2), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1103 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1104 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1105 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1106 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1107 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1108 | Event<void()> event(const T *obj, R (T::*method)(B0, B1, B2) const, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1109 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1110 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1111 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1112 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1113 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1114 | Event<void()> event(volatile T *obj, R (T::*method)(B0, B1, B2) volatile, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1115 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1116 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1117 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1118 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1119 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1120 | Event<void()> event(const volatile T *obj, R (T::*method)(B0, B1, B2) const volatile, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1121 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1122 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1123 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1124 | */ |
Christopher Haster |
14:65535458dd6f | 1125 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2> |
Christopher Haster |
14:65535458dd6f | 1126 | Event<void()> event(mbed::Callback<R(B0, B1, B2)> cb, C0 c0, C1 c1, C2 c2); |
Christopher Haster |
14:65535458dd6f | 1127 | |
Christopher Haster |
14:65535458dd6f | 1128 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1129 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1130 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1131 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1132 | Event<void()> event(R (*func)(B0, B1, B2, B3), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1133 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1134 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1135 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1136 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1137 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1138 | Event<void()> event(T *obj, R (T::*method)(B0, B1, B2, B3), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1139 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1140 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1141 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1142 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1143 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1144 | Event<void()> event(const T *obj, R (T::*method)(B0, B1, B2, B3) const, C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1145 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1146 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1147 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1148 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1149 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1150 | Event<void()> event(volatile T *obj, R (T::*method)(B0, B1, B2, B3) volatile, C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1151 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1152 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1153 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1154 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1155 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1156 | Event<void()> event(const volatile T *obj, R (T::*method)(B0, B1, B2, B3) const volatile, C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1157 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1158 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1159 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1160 | */ |
Christopher Haster |
14:65535458dd6f | 1161 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3> |
Christopher Haster |
14:65535458dd6f | 1162 | Event<void()> event(mbed::Callback<R(B0, B1, B2, B3)> cb, C0 c0, C1 c1, C2 c2, C3 c3); |
Christopher Haster |
14:65535458dd6f | 1163 | |
Christopher Haster |
14:65535458dd6f | 1164 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1165 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1166 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1167 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename B4, typename C0, typename C1, typename C2, typename C3, typename C4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1168 | Event<void()> event(R (*func)(B0, B1, B2, B3, B4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1169 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1170 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1171 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1172 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1173 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1174 | Event<void()> event(T *obj, R (T::*method)(B0, B1, B2, B3, B4), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1175 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1176 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1177 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1178 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1179 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1180 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1181 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1182 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1183 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1184 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1185 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1186 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1187 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1188 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1189 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1190 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1191 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1192 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1193 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1194 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1195 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1196 | */ |
Christopher Haster |
14:65535458dd6f | 1197 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename B4, typename C0, typename C1, typename C2, typename C3, typename C4> |
Christopher Haster |
14:65535458dd6f | 1198 | Event<void()> event(mbed::Callback<R(B0, B1, B2, B3, B4)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Christopher Haster |
14:65535458dd6f | 1199 | |
Christopher Haster |
14:65535458dd6f | 1200 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1201 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1202 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1203 | template <typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1204 | Event<void(A0)> event(R (*func)(A0)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1205 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1206 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1207 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1208 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1209 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1210 | Event<void(A0)> event(T *obj, R (T::*method)(A0)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1211 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1212 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1213 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1214 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1215 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1216 | Event<void(A0)> event(const T *obj, R (T::*method)(A0) const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1217 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1218 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1219 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1220 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1221 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1222 | Event<void(A0)> event(volatile T *obj, R (T::*method)(A0) volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1223 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1224 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1225 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1226 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1227 | template <typename T, typename R, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1228 | Event<void(A0)> event(const volatile T *obj, R (T::*method)(A0) const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1229 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1230 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1231 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1232 | */ |
Christopher Haster |
14:65535458dd6f | 1233 | template <typename R, typename A0> |
Christopher Haster |
14:65535458dd6f | 1234 | Event<void(A0)> event(mbed::Callback<R(A0)> cb); |
Christopher Haster |
14:65535458dd6f | 1235 | |
Christopher Haster |
14:65535458dd6f | 1236 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1237 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1238 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1239 | template <typename R, typename B0, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1240 | Event<void(A0)> event(R (*func)(B0, A0), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1241 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1242 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1243 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1244 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1245 | template <typename T, typename R, typename B0, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1246 | Event<void(A0)> event(T *obj, R (T::*method)(B0, A0), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1247 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1248 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1249 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1250 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1251 | template <typename T, typename R, typename B0, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1252 | Event<void(A0)> event(const T *obj, R (T::*method)(B0, A0) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1253 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1254 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1255 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1256 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1257 | template <typename T, typename R, typename B0, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1258 | Event<void(A0)> event(volatile T *obj, R (T::*method)(B0, A0) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1259 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1260 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1261 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1262 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1263 | template <typename T, typename R, typename B0, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1264 | Event<void(A0)> event(const volatile T *obj, R (T::*method)(B0, A0) const volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1265 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1266 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1267 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1268 | */ |
Christopher Haster |
14:65535458dd6f | 1269 | template <typename R, typename B0, typename C0, typename A0> |
Christopher Haster |
14:65535458dd6f | 1270 | Event<void(A0)> event(mbed::Callback<R(B0, A0)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 1271 | |
Christopher Haster |
14:65535458dd6f | 1272 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1273 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1274 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1275 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1276 | Event<void(A0)> event(R (*func)(B0, B1, A0), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1277 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1278 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1279 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1280 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1281 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1282 | Event<void(A0)> event(T *obj, R (T::*method)(B0, B1, A0), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1283 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1284 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1285 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1286 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1287 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1288 | Event<void(A0)> event(const T *obj, R (T::*method)(B0, B1, A0) const, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1289 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1290 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1291 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1292 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1293 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1294 | Event<void(A0)> event(volatile T *obj, R (T::*method)(B0, B1, A0) volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1295 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1296 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1297 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1298 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1299 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1300 | Event<void(A0)> event(const volatile T *obj, R (T::*method)(B0, B1, A0) const volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1301 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1302 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1303 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1304 | */ |
Christopher Haster |
14:65535458dd6f | 1305 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0> |
Christopher Haster |
14:65535458dd6f | 1306 | Event<void(A0)> event(mbed::Callback<R(B0, B1, A0)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 1307 | |
Christopher Haster |
14:65535458dd6f | 1308 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1309 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1310 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1311 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1312 | Event<void(A0)> event(R (*func)(B0, B1, B2, A0), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1313 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1314 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1315 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1316 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1317 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1318 | Event<void(A0)> event(T *obj, R (T::*method)(B0, B1, B2, A0), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1319 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1320 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1321 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1322 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1323 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1324 | Event<void(A0)> event(const T *obj, R (T::*method)(B0, B1, B2, A0) const, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1325 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1326 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1327 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1328 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1329 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1330 | Event<void(A0)> event(volatile T *obj, R (T::*method)(B0, B1, B2, A0) volatile, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1331 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1332 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1333 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1334 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1335 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1336 | Event<void(A0)> event(const volatile T *obj, R (T::*method)(B0, B1, B2, A0) const volatile, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1337 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1338 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1339 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1340 | */ |
Christopher Haster |
14:65535458dd6f | 1341 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0> |
Christopher Haster |
14:65535458dd6f | 1342 | Event<void(A0)> event(mbed::Callback<R(B0, B1, B2, A0)> cb, C0 c0, C1 c1, C2 c2); |
Christopher Haster |
14:65535458dd6f | 1343 | |
Christopher Haster |
14:65535458dd6f | 1344 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1345 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1346 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1347 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1348 | Event<void(A0)> event(R (*func)(B0, B1, B2, B3, A0), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1349 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1350 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1351 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1352 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1353 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1354 | Event<void(A0)> event(T *obj, R (T::*method)(B0, B1, B2, B3, A0), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1355 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1356 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1357 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1358 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1359 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1360 | Event<void(A0)> event(const T *obj, R (T::*method)(B0, B1, B2, B3, A0) const, C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1361 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1362 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1363 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1364 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1365 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1366 | Event<void(A0)> event(volatile T *obj, R (T::*method)(B0, B1, B2, B3, A0) volatile, C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1367 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1368 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1369 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1370 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1371 | template <typename T, typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1372 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1373 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1374 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1375 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1376 | */ |
Christopher Haster |
14:65535458dd6f | 1377 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0> |
Christopher Haster |
14:65535458dd6f | 1378 | Event<void(A0)> event(mbed::Callback<R(B0, B1, B2, B3, A0)> cb, C0 c0, C1 c1, C2 c2, C3 c3); |
Christopher Haster |
14:65535458dd6f | 1379 | |
Christopher Haster |
14:65535458dd6f | 1380 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1381 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1382 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1383 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1384 | Event<void(A0)> event(R (*func)(B0, B1, B2, B3, B4, A0), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1385 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1386 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1387 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1388 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1389 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1390 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1391 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1392 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1393 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1394 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1395 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1396 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1397 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1398 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1399 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1400 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1401 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1402 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1403 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1404 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1405 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1406 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1407 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1408 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1409 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1410 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1411 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1412 | */ |
Christopher Haster |
14:65535458dd6f | 1413 | 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> |
Christopher Haster |
14:65535458dd6f | 1414 | Event<void(A0)> event(mbed::Callback<R(B0, B1, B2, B3, B4, A0)> cb, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Christopher Haster |
14:65535458dd6f | 1415 | |
Christopher Haster |
14:65535458dd6f | 1416 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1417 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1418 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1419 | template <typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1420 | Event<void(A0, A1)> event(R (*func)(A0, A1)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1421 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1422 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1423 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1424 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1425 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1426 | Event<void(A0, A1)> event(T *obj, R (T::*method)(A0, A1)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1427 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1428 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1429 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1430 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1431 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1432 | Event<void(A0, A1)> event(const T *obj, R (T::*method)(A0, A1) const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1433 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1434 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1435 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1436 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1437 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1438 | Event<void(A0, A1)> event(volatile T *obj, R (T::*method)(A0, A1) volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1439 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1440 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1441 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1442 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1443 | template <typename T, typename R, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1444 | Event<void(A0, A1)> event(const volatile T *obj, R (T::*method)(A0, A1) const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1445 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1446 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1447 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1448 | */ |
Christopher Haster |
14:65535458dd6f | 1449 | template <typename R, typename A0, typename A1> |
Christopher Haster |
14:65535458dd6f | 1450 | Event<void(A0, A1)> event(mbed::Callback<R(A0, A1)> cb); |
Christopher Haster |
14:65535458dd6f | 1451 | |
Christopher Haster |
14:65535458dd6f | 1452 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1453 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1454 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1455 | template <typename R, typename B0, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1456 | Event<void(A0, A1)> event(R (*func)(B0, A0, A1), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1457 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1458 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1459 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1460 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1461 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1462 | Event<void(A0, A1)> event(T *obj, R (T::*method)(B0, A0, A1), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1463 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1464 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1465 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1466 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1467 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1468 | Event<void(A0, A1)> event(const T *obj, R (T::*method)(B0, A0, A1) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1469 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1470 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1471 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1472 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1473 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1474 | Event<void(A0, A1)> event(volatile T *obj, R (T::*method)(B0, A0, A1) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1475 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1476 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1477 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1478 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1479 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1480 | Event<void(A0, A1)> event(const volatile T *obj, R (T::*method)(B0, A0, A1) const volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1481 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1482 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1483 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1484 | */ |
Christopher Haster |
14:65535458dd6f | 1485 | template <typename R, typename B0, typename C0, typename A0, typename A1> |
Christopher Haster |
14:65535458dd6f | 1486 | Event<void(A0, A1)> event(mbed::Callback<R(B0, A0, A1)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 1487 | |
Christopher Haster |
14:65535458dd6f | 1488 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1489 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1490 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1491 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1492 | Event<void(A0, A1)> event(R (*func)(B0, B1, A0, A1), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1493 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1494 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1495 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1496 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1497 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1498 | Event<void(A0, A1)> event(T *obj, R (T::*method)(B0, B1, A0, A1), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1499 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1500 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1501 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1502 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1503 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1504 | Event<void(A0, A1)> event(const T *obj, R (T::*method)(B0, B1, A0, A1) const, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1505 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1506 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1507 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1508 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1509 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1510 | Event<void(A0, A1)> event(volatile T *obj, R (T::*method)(B0, B1, A0, A1) volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1511 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1512 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1513 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1514 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1515 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1516 | Event<void(A0, A1)> event(const volatile T *obj, R (T::*method)(B0, B1, A0, A1) const volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1517 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1518 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1519 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1520 | */ |
Christopher Haster |
14:65535458dd6f | 1521 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1> |
Christopher Haster |
14:65535458dd6f | 1522 | Event<void(A0, A1)> event(mbed::Callback<R(B0, B1, A0, A1)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 1523 | |
Christopher Haster |
14:65535458dd6f | 1524 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1525 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1526 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1527 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1528 | Event<void(A0, A1)> event(R (*func)(B0, B1, B2, A0, A1), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1529 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1530 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1531 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1532 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1533 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1534 | Event<void(A0, A1)> event(T *obj, R (T::*method)(B0, B1, B2, A0, A1), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1535 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1536 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1537 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1538 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1539 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1540 | Event<void(A0, A1)> event(const T *obj, R (T::*method)(B0, B1, B2, A0, A1) const, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1541 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1542 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1543 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1544 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1545 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1546 | Event<void(A0, A1)> event(volatile T *obj, R (T::*method)(B0, B1, B2, A0, A1) volatile, C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1547 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1548 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1549 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1550 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1551 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1552 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1553 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1554 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1555 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1556 | */ |
Christopher Haster |
14:65535458dd6f | 1557 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1> |
Christopher Haster |
14:65535458dd6f | 1558 | Event<void(A0, A1)> event(mbed::Callback<R(B0, B1, B2, A0, A1)> cb, C0 c0, C1 c1, C2 c2); |
Christopher Haster |
14:65535458dd6f | 1559 | |
Christopher Haster |
14:65535458dd6f | 1560 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1561 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1562 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1563 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1564 | Event<void(A0, A1)> event(R (*func)(B0, B1, B2, B3, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1565 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1566 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1567 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1568 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1569 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1570 | Event<void(A0, A1)> event(T *obj, R (T::*method)(B0, B1, B2, B3, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1571 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1572 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1573 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1574 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1575 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1576 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1577 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1578 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1579 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1580 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1581 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1582 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1583 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1584 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1585 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1586 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1587 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1588 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1589 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1590 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1591 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1592 | */ |
Christopher Haster |
14:65535458dd6f | 1593 | template <typename R, typename B0, typename B1, typename B2, typename B3, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1> |
Christopher Haster |
14:65535458dd6f | 1594 | Event<void(A0, A1)> event(mbed::Callback<R(B0, B1, B2, B3, A0, A1)> cb, C0 c0, C1 c1, C2 c2, C3 c3); |
Christopher Haster |
14:65535458dd6f | 1595 | |
Christopher Haster |
14:65535458dd6f | 1596 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1597 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1598 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1599 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1600 | Event<void(A0, A1)> event(R (*func)(B0, B1, B2, B3, B4, A0, A1), C0 c0, C1 c1, C2 c2, C3 c3, C4 c4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1601 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1602 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1603 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1604 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1605 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1606 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1607 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1608 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1609 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1610 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1611 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1612 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1613 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1614 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1615 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1616 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1617 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1618 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1619 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1620 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1621 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1622 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1623 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1624 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1625 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1626 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1627 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1628 | */ |
Christopher Haster |
14:65535458dd6f | 1629 | 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> |
Christopher Haster |
14:65535458dd6f | 1630 | 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); |
Christopher Haster |
14:65535458dd6f | 1631 | |
Christopher Haster |
14:65535458dd6f | 1632 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1633 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1634 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1635 | template <typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1636 | Event<void(A0, A1, A2)> event(R (*func)(A0, A1, A2)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1637 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1638 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1639 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1640 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1641 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1642 | Event<void(A0, A1, A2)> event(T *obj, R (T::*method)(A0, A1, A2)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1643 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1644 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1645 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1646 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1647 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1648 | Event<void(A0, A1, A2)> event(const T *obj, R (T::*method)(A0, A1, A2) const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1649 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1650 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1651 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1652 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1653 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1654 | Event<void(A0, A1, A2)> event(volatile T *obj, R (T::*method)(A0, A1, A2) volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1655 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1656 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1657 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1658 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1659 | template <typename T, typename R, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1660 | Event<void(A0, A1, A2)> event(const volatile T *obj, R (T::*method)(A0, A1, A2) const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1661 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1662 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1663 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1664 | */ |
Christopher Haster |
14:65535458dd6f | 1665 | template <typename R, typename A0, typename A1, typename A2> |
Christopher Haster |
14:65535458dd6f | 1666 | Event<void(A0, A1, A2)> event(mbed::Callback<R(A0, A1, A2)> cb); |
Christopher Haster |
14:65535458dd6f | 1667 | |
Christopher Haster |
14:65535458dd6f | 1668 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1669 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1670 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1671 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1672 | Event<void(A0, A1, A2)> event(R (*func)(B0, A0, A1, A2), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1673 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1674 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1675 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1676 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1677 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1678 | Event<void(A0, A1, A2)> event(T *obj, R (T::*method)(B0, A0, A1, A2), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1679 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1680 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1681 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1682 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1683 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1684 | Event<void(A0, A1, A2)> event(const T *obj, R (T::*method)(B0, A0, A1, A2) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1685 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1686 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1687 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1688 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1689 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1690 | Event<void(A0, A1, A2)> event(volatile T *obj, R (T::*method)(B0, A0, A1, A2) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1691 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1692 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1693 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1694 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1695 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1696 | Event<void(A0, A1, A2)> event(const volatile T *obj, R (T::*method)(B0, A0, A1, A2) const volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1697 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1698 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1699 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1700 | */ |
Christopher Haster |
14:65535458dd6f | 1701 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2> |
Christopher Haster |
14:65535458dd6f | 1702 | Event<void(A0, A1, A2)> event(mbed::Callback<R(B0, A0, A1, A2)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 1703 | |
Christopher Haster |
14:65535458dd6f | 1704 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1705 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1706 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1707 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1708 | Event<void(A0, A1, A2)> event(R (*func)(B0, B1, A0, A1, A2), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1709 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1710 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1711 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1712 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1713 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1714 | Event<void(A0, A1, A2)> event(T *obj, R (T::*method)(B0, B1, A0, A1, A2), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1715 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1716 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1717 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1718 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1719 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1720 | Event<void(A0, A1, A2)> event(const T *obj, R (T::*method)(B0, B1, A0, A1, A2) const, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1721 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1722 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1723 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1724 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1725 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1726 | Event<void(A0, A1, A2)> event(volatile T *obj, R (T::*method)(B0, B1, A0, A1, A2) volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1727 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1728 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1729 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1730 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1731 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1732 | Event<void(A0, A1, A2)> event(const volatile T *obj, R (T::*method)(B0, B1, A0, A1, A2) const volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1733 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1734 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1735 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1736 | */ |
Christopher Haster |
14:65535458dd6f | 1737 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2> |
Christopher Haster |
14:65535458dd6f | 1738 | Event<void(A0, A1, A2)> event(mbed::Callback<R(B0, B1, A0, A1, A2)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 1739 | |
Christopher Haster |
14:65535458dd6f | 1740 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1741 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1742 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1743 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1744 | Event<void(A0, A1, A2)> event(R (*func)(B0, B1, B2, A0, A1, A2), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1745 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1746 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1747 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1748 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1749 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1750 | Event<void(A0, A1, A2)> event(T *obj, R (T::*method)(B0, B1, B2, A0, A1, A2), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1751 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1752 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1753 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1754 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1755 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1756 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1757 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1758 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1759 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1760 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1761 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1762 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1763 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1764 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1765 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1766 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1767 | template <typename T, typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1768 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1769 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1770 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1771 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1772 | */ |
Christopher Haster |
14:65535458dd6f | 1773 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Christopher Haster |
14:65535458dd6f | 1774 | Event<void(A0, A1, A2)> event(mbed::Callback<R(B0, B1, B2, A0, A1, A2)> cb, C0 c0, C1 c1, C2 c2); |
Christopher Haster |
14:65535458dd6f | 1775 | |
Christopher Haster |
14:65535458dd6f | 1776 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1777 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1778 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1779 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1780 | Event<void(A0, A1, A2)> event(R (*func)(B0, B1, B2, B3, A0, A1, A2), C0 c0, C1 c1, C2 c2, C3 c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1781 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1782 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1783 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1784 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1785 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1786 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1787 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1788 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1789 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1790 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1791 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1792 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1793 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1794 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1795 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1796 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1797 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1798 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1799 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1800 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1801 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1802 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1803 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1804 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1805 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1806 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1807 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1808 | */ |
Christopher Haster |
14:65535458dd6f | 1809 | 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> |
Christopher Haster |
14:65535458dd6f | 1810 | 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); |
Christopher Haster |
14:65535458dd6f | 1811 | |
Christopher Haster |
14:65535458dd6f | 1812 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1813 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1814 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1815 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1816 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1817 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1818 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1819 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1820 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1821 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1822 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1823 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1824 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1825 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1826 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1827 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1828 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1829 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1830 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1831 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1832 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1833 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1834 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1835 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1836 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1837 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1838 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1839 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1840 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1841 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1842 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1843 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1844 | */ |
Christopher Haster |
14:65535458dd6f | 1845 | 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> |
Christopher Haster |
14:65535458dd6f | 1846 | 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); |
Christopher Haster |
14:65535458dd6f | 1847 | |
Christopher Haster |
14:65535458dd6f | 1848 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1849 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1850 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1851 | template <typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1852 | Event<void(A0, A1, A2, A3)> event(R (*func)(A0, A1, A2, A3)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1853 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1854 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1855 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1856 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1857 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1858 | Event<void(A0, A1, A2, A3)> event(T *obj, R (T::*method)(A0, A1, A2, A3)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1859 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1860 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1861 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1862 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1863 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1864 | Event<void(A0, A1, A2, A3)> event(const T *obj, R (T::*method)(A0, A1, A2, A3) const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1865 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1866 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1867 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1868 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1869 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1870 | Event<void(A0, A1, A2, A3)> event(volatile T *obj, R (T::*method)(A0, A1, A2, A3) volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1871 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1872 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1873 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1874 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1875 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1876 | Event<void(A0, A1, A2, A3)> event(const volatile T *obj, R (T::*method)(A0, A1, A2, A3) const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1877 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1878 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1879 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1880 | */ |
Christopher Haster |
14:65535458dd6f | 1881 | template <typename R, typename A0, typename A1, typename A2, typename A3> |
Christopher Haster |
14:65535458dd6f | 1882 | Event<void(A0, A1, A2, A3)> event(mbed::Callback<R(A0, A1, A2, A3)> cb); |
Christopher Haster |
14:65535458dd6f | 1883 | |
Christopher Haster |
14:65535458dd6f | 1884 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1885 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1886 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1887 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1888 | Event<void(A0, A1, A2, A3)> event(R (*func)(B0, A0, A1, A2, A3), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1889 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1890 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1891 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1892 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1893 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1894 | Event<void(A0, A1, A2, A3)> event(T *obj, R (T::*method)(B0, A0, A1, A2, A3), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1895 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1896 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1897 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1898 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1899 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1900 | Event<void(A0, A1, A2, A3)> event(const T *obj, R (T::*method)(B0, A0, A1, A2, A3) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1901 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1902 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1903 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1904 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1905 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1906 | Event<void(A0, A1, A2, A3)> event(volatile T *obj, R (T::*method)(B0, A0, A1, A2, A3) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1907 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1908 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1909 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1910 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1911 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1912 | Event<void(A0, A1, A2, A3)> event(const volatile T *obj, R (T::*method)(B0, A0, A1, A2, A3) const volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1913 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1914 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1915 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1916 | */ |
Christopher Haster |
14:65535458dd6f | 1917 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3> |
Christopher Haster |
14:65535458dd6f | 1918 | Event<void(A0, A1, A2, A3)> event(mbed::Callback<R(B0, A0, A1, A2, A3)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 1919 | |
Christopher Haster |
14:65535458dd6f | 1920 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1921 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1922 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1923 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1924 | Event<void(A0, A1, A2, A3)> event(R (*func)(B0, B1, A0, A1, A2, A3), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1925 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1926 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1927 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1928 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1929 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1930 | Event<void(A0, A1, A2, A3)> event(T *obj, R (T::*method)(B0, B1, A0, A1, A2, A3), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1931 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1932 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1933 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1934 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1935 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1936 | Event<void(A0, A1, A2, A3)> event(const T *obj, R (T::*method)(B0, B1, A0, A1, A2, A3) const, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1937 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1938 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1939 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1940 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1941 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1942 | Event<void(A0, A1, A2, A3)> event(volatile T *obj, R (T::*method)(B0, B1, A0, A1, A2, A3) volatile, C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1943 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1944 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1945 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1946 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1947 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1948 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1949 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1950 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1951 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1952 | */ |
Christopher Haster |
14:65535458dd6f | 1953 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Christopher Haster |
14:65535458dd6f | 1954 | Event<void(A0, A1, A2, A3)> event(mbed::Callback<R(B0, B1, A0, A1, A2, A3)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 1955 | |
Christopher Haster |
14:65535458dd6f | 1956 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1957 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1958 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1959 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1960 | Event<void(A0, A1, A2, A3)> event(R (*func)(B0, B1, B2, A0, A1, A2, A3), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1961 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1962 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1963 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1964 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1965 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1966 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1967 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1968 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1969 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1970 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1971 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1972 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1973 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1974 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1975 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1976 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1977 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1978 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1979 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1980 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1981 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1982 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1983 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1984 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1985 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1986 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1987 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 1988 | */ |
Christopher Haster |
14:65535458dd6f | 1989 | template <typename R, typename B0, typename B1, typename B2, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2, typename A3> |
Christopher Haster |
14:65535458dd6f | 1990 | Event<void(A0, A1, A2, A3)> event(mbed::Callback<R(B0, B1, B2, A0, A1, A2, A3)> cb, C0 c0, C1 c1, C2 c2); |
Christopher Haster |
14:65535458dd6f | 1991 | |
Christopher Haster |
14:65535458dd6f | 1992 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 1993 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 1994 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 1995 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 1996 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 1997 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 1998 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 1999 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2000 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2001 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2002 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2003 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2004 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2005 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2006 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2007 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2008 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2009 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2010 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2011 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2012 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2013 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2014 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2015 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2016 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2017 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2018 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2019 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2020 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2021 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2022 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2023 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2024 | */ |
Christopher Haster |
14:65535458dd6f | 2025 | 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> |
Christopher Haster |
14:65535458dd6f | 2026 | 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); |
Christopher Haster |
14:65535458dd6f | 2027 | |
Christopher Haster |
14:65535458dd6f | 2028 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2029 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2030 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2031 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2032 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2033 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2034 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2035 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2036 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2037 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2038 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2039 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2040 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2041 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2042 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2043 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2044 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2045 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2046 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2047 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2048 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2049 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2050 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2051 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2052 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2053 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2054 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2055 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2056 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2057 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2058 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2059 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2060 | */ |
Christopher Haster |
14:65535458dd6f | 2061 | 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> |
Christopher Haster |
14:65535458dd6f | 2062 | 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); |
Christopher Haster |
14:65535458dd6f | 2063 | |
Christopher Haster |
14:65535458dd6f | 2064 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2065 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2066 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2067 | template <typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2068 | Event<void(A0, A1, A2, A3, A4)> event(R (*func)(A0, A1, A2, A3, A4)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2069 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2070 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2071 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2072 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2073 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2074 | Event<void(A0, A1, A2, A3, A4)> event(T *obj, R (T::*method)(A0, A1, A2, A3, A4)); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2075 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2076 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2077 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2078 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2079 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2080 | Event<void(A0, A1, A2, A3, A4)> event(const T *obj, R (T::*method)(A0, A1, A2, A3, A4) const); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2081 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2082 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2083 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2084 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2085 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2086 | Event<void(A0, A1, A2, A3, A4)> event(volatile T *obj, R (T::*method)(A0, A1, A2, A3, A4) volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2087 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2088 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2089 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2090 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2091 | template <typename T, typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2092 | Event<void(A0, A1, A2, A3, A4)> event(const volatile T *obj, R (T::*method)(A0, A1, A2, A3, A4) const volatile); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2093 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2094 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2095 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2096 | */ |
Christopher Haster |
14:65535458dd6f | 2097 | template <typename R, typename A0, typename A1, typename A2, typename A3, typename A4> |
Christopher Haster |
14:65535458dd6f | 2098 | Event<void(A0, A1, A2, A3, A4)> event(mbed::Callback<R(A0, A1, A2, A3, A4)> cb); |
Christopher Haster |
14:65535458dd6f | 2099 | |
Christopher Haster |
14:65535458dd6f | 2100 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2101 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2102 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2103 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2104 | Event<void(A0, A1, A2, A3, A4)> event(R (*func)(B0, A0, A1, A2, A3, A4), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2105 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2106 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2107 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2108 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2109 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2110 | Event<void(A0, A1, A2, A3, A4)> event(T *obj, R (T::*method)(B0, A0, A1, A2, A3, A4), C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2111 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2112 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2113 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2114 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2115 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2116 | Event<void(A0, A1, A2, A3, A4)> event(const T *obj, R (T::*method)(B0, A0, A1, A2, A3, A4) const, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2117 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2118 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2119 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2120 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2121 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2122 | Event<void(A0, A1, A2, A3, A4)> event(volatile T *obj, R (T::*method)(B0, A0, A1, A2, A3, A4) volatile, C0 c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2123 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2124 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2125 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2126 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2127 | template <typename T, typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2128 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2129 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2130 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2131 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2132 | */ |
Christopher Haster |
14:65535458dd6f | 2133 | template <typename R, typename B0, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Christopher Haster |
14:65535458dd6f | 2134 | Event<void(A0, A1, A2, A3, A4)> event(mbed::Callback<R(B0, A0, A1, A2, A3, A4)> cb, C0 c0); |
Christopher Haster |
14:65535458dd6f | 2135 | |
Christopher Haster |
14:65535458dd6f | 2136 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2137 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2138 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2139 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2140 | Event<void(A0, A1, A2, A3, A4)> event(R (*func)(B0, B1, A0, A1, A2, A3, A4), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2141 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2142 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2143 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2144 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2145 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2146 | Event<void(A0, A1, A2, A3, A4)> event(T *obj, R (T::*method)(B0, B1, A0, A1, A2, A3, A4), C0 c0, C1 c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2147 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2148 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2149 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2150 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2151 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2152 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2153 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2154 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2155 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2156 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2157 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2158 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2159 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2160 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2161 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2162 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2163 | template <typename T, typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2164 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2165 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2166 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2167 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2168 | */ |
Christopher Haster |
14:65535458dd6f | 2169 | template <typename R, typename B0, typename B1, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Christopher Haster |
14:65535458dd6f | 2170 | Event<void(A0, A1, A2, A3, A4)> event(mbed::Callback<R(B0, B1, A0, A1, A2, A3, A4)> cb, C0 c0, C1 c1); |
Christopher Haster |
14:65535458dd6f | 2171 | |
Christopher Haster |
14:65535458dd6f | 2172 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2173 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2174 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2175 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2176 | Event<void(A0, A1, A2, A3, A4)> event(R (*func)(B0, B1, B2, A0, A1, A2, A3, A4), C0 c0, C1 c1, C2 c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2177 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2178 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2179 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2180 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2181 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2182 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2183 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2184 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2185 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2186 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2187 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2188 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2189 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2190 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2191 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2192 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2193 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2194 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2195 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2196 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2197 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2198 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2199 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2200 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2201 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2202 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2203 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2204 | */ |
Christopher Haster |
14:65535458dd6f | 2205 | 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> |
Christopher Haster |
14:65535458dd6f | 2206 | 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); |
Christopher Haster |
14:65535458dd6f | 2207 | |
Christopher Haster |
14:65535458dd6f | 2208 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2209 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2210 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2211 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2212 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2213 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2214 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2215 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2216 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2217 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2218 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2219 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2220 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2221 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2222 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2223 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2224 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2225 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2226 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2227 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2228 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2229 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2230 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2231 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2232 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2233 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2234 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2235 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2236 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2237 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2238 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2239 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2240 | */ |
Christopher Haster |
14:65535458dd6f | 2241 | 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> |
Christopher Haster |
14:65535458dd6f | 2242 | 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); |
Christopher Haster |
14:65535458dd6f | 2243 | |
Christopher Haster |
14:65535458dd6f | 2244 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2245 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2246 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2247 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2248 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2249 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2250 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2251 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2252 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2253 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2254 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2255 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2256 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2257 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2258 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2259 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2260 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2261 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2262 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2263 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2264 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2265 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2266 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2267 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2268 | /** Creates an event bound to the event queue |
Bogdan Marinescu |
0:a792d4bf36c2 | 2269 | * @see EventQueue::event |
Bogdan Marinescu |
0:a792d4bf36c2 | 2270 | */ |
Bogdan Marinescu |
0:a792d4bf36c2 | 2271 | 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> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2272 | 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); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2273 | |
Christopher Haster |
14:65535458dd6f | 2274 | /** Creates an event bound to the event queue |
Christopher Haster |
14:65535458dd6f | 2275 | * @see EventQueue::event |
Christopher Haster |
14:65535458dd6f | 2276 | */ |
Christopher Haster |
14:65535458dd6f | 2277 | 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> |
Christopher Haster |
14:65535458dd6f | 2278 | 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); |
Christopher Haster |
14:65535458dd6f | 2279 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2280 | protected: |
Bogdan Marinescu |
0:a792d4bf36c2 | 2281 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2282 | friend class Event; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2283 | struct equeue _equeue; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2284 | mbed::Callback<void(int)> _update; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2285 | |
Christopher Haster |
7:80510299c57c | 2286 | // Function attributes |
Christopher Haster |
7:80510299c57c | 2287 | template <typename F> |
Christopher Haster |
7:80510299c57c | 2288 | static void function_call(void *p) { |
Christopher Haster |
7:80510299c57c | 2289 | (*(F*)p)(); |
Christopher Haster |
7:80510299c57c | 2290 | } |
Christopher Haster |
7:80510299c57c | 2291 | |
Christopher Haster |
7:80510299c57c | 2292 | template <typename F> |
Christopher Haster |
7:80510299c57c | 2293 | static void function_dtor(void *p) { |
Christopher Haster |
7:80510299c57c | 2294 | ((F*)p)->~F(); |
Christopher Haster |
7:80510299c57c | 2295 | } |
Christopher Haster |
7:80510299c57c | 2296 | |
Christopher Haster |
7:80510299c57c | 2297 | // Context structures |
Bogdan Marinescu |
0:a792d4bf36c2 | 2298 | template <typename F> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2299 | struct context00 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2300 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2301 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2302 | context00(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2303 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2304 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2305 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2306 | f(); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2307 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2308 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2309 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2310 | template <typename F, typename C0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2311 | struct context10 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2312 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2313 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2314 | context10(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2315 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2316 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2317 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2318 | f(c0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2319 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2320 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2321 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2322 | template <typename F, typename C0, typename C1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2323 | struct context20 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2324 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2325 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2326 | context20(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2327 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2328 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2329 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2330 | f(c0, c1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2331 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2332 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2333 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2334 | template <typename F, typename C0, typename C1, typename C2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2335 | struct context30 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2336 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2337 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2338 | context30(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2339 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2340 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2341 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2342 | f(c0, c1, c2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2343 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2344 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2345 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2346 | template <typename F, typename C0, typename C1, typename C2, typename C3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2347 | struct context40 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2348 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2349 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2350 | context40(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2351 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2352 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2353 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2354 | f(c0, c1, c2, c3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2355 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2356 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2357 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2358 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2359 | struct context50 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2360 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2361 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2362 | context50(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2363 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2364 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2365 | void operator()() { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2366 | f(c0, c1, c2, c3, c4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2367 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2368 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2369 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2370 | template <typename F, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2371 | struct context01 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2372 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2373 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2374 | context01(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2375 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2376 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2377 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2378 | f(a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2379 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2380 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2381 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2382 | template <typename F, typename C0, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2383 | struct context11 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2384 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2385 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2386 | context11(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2387 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2388 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2389 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2390 | f(c0, a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2391 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2392 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2393 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2394 | template <typename F, typename C0, typename C1, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2395 | struct context21 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2396 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2397 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2398 | context21(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2399 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2400 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2401 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2402 | f(c0, c1, a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2403 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2404 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2405 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2406 | template <typename F, typename C0, typename C1, typename C2, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2407 | struct context31 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2408 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2409 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2410 | context31(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2411 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2412 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2413 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2414 | f(c0, c1, c2, a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2415 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2416 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2417 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2418 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2419 | struct context41 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2420 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2421 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2422 | context41(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2423 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2424 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2425 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2426 | f(c0, c1, c2, c3, a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2427 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2428 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2429 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2430 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4, typename A0> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2431 | struct context51 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2432 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2433 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2434 | context51(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2435 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2436 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2437 | void operator()(A0 a0) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2438 | f(c0, c1, c2, c3, c4, a0); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2439 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2440 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2441 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2442 | template <typename F, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2443 | struct context02 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2444 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2445 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2446 | context02(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2447 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2448 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2449 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2450 | f(a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2451 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2452 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2453 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2454 | template <typename F, typename C0, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2455 | struct context12 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2456 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2457 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2458 | context12(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2459 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2460 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2461 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2462 | f(c0, a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2463 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2464 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2465 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2466 | template <typename F, typename C0, typename C1, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2467 | struct context22 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2468 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2469 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2470 | context22(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2471 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2472 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2473 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2474 | f(c0, c1, a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2475 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2476 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2477 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2478 | template <typename F, typename C0, typename C1, typename C2, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2479 | struct context32 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2480 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2481 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2482 | context32(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2483 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2484 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2485 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2486 | f(c0, c1, c2, a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2487 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2488 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2489 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2490 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2491 | struct context42 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2492 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2493 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2494 | context42(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2495 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2496 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2497 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2498 | f(c0, c1, c2, c3, a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2499 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2500 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2501 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2502 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4, typename A0, typename A1> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2503 | struct context52 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2504 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2505 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2506 | context52(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2507 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2508 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2509 | void operator()(A0 a0, A1 a1) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2510 | f(c0, c1, c2, c3, c4, a0, a1); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2511 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2512 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2513 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2514 | template <typename F, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2515 | struct context03 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2516 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2517 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2518 | context03(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2519 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2520 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2521 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2522 | f(a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2523 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2524 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2525 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2526 | template <typename F, typename C0, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2527 | struct context13 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2528 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2529 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2530 | context13(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2531 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2532 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2533 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2534 | f(c0, a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2535 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2536 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2537 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2538 | template <typename F, typename C0, typename C1, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2539 | struct context23 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2540 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2541 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2542 | context23(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2543 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2544 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2545 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2546 | f(c0, c1, a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2547 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2548 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2549 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2550 | template <typename F, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2551 | struct context33 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2552 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2553 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2554 | context33(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2555 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2556 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2557 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2558 | f(c0, c1, c2, a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2559 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2560 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2561 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2562 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2563 | struct context43 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2564 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2565 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2566 | context43(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2567 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2568 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2569 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2570 | f(c0, c1, c2, c3, a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2571 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2572 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2573 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2574 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4, typename A0, typename A1, typename A2> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2575 | struct context53 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2576 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2577 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2578 | context53(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2579 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2580 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2581 | void operator()(A0 a0, A1 a1, A2 a2) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2582 | f(c0, c1, c2, c3, c4, a0, a1, a2); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2583 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2584 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2585 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2586 | template <typename F, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2587 | struct context04 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2588 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2589 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2590 | context04(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2591 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2592 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2593 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2594 | f(a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2595 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2596 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2597 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2598 | template <typename F, typename C0, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2599 | struct context14 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2600 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2601 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2602 | context14(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2603 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2604 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2605 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2606 | f(c0, a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2607 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2608 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2609 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2610 | template <typename F, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2611 | struct context24 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2612 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2613 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2614 | context24(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2615 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2616 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2617 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2618 | f(c0, c1, a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2619 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2620 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2621 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2622 | template <typename F, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2623 | struct context34 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2624 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2625 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2626 | context34(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2627 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2628 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2629 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2630 | f(c0, c1, c2, a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2631 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2632 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2633 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2634 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2635 | struct context44 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2636 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2637 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2638 | context44(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2639 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2640 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2641 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2642 | f(c0, c1, c2, c3, a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2643 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2644 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2645 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2646 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4, typename A0, typename A1, typename A2, typename A3> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2647 | struct context54 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2648 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2649 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2650 | context54(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2651 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2652 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2653 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2654 | f(c0, c1, c2, c3, c4, a0, a1, a2, a3); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2655 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2656 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2657 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2658 | template <typename F, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2659 | struct context05 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2660 | F f; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2661 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2662 | context05(F f) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2663 | : f(f) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2664 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2665 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2666 | f(a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2667 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2668 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2669 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2670 | template <typename F, typename C0, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2671 | struct context15 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2672 | F f; C0 c0; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2673 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2674 | context15(F f, C0 c0) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2675 | : f(f), c0(c0) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2676 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2677 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2678 | f(c0, a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2679 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2680 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2681 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2682 | template <typename F, typename C0, typename C1, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2683 | struct context25 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2684 | F f; C0 c0; C1 c1; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2685 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2686 | context25(F f, C0 c0, C1 c1) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2687 | : f(f), c0(c0), c1(c1) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2688 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2689 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2690 | f(c0, c1, a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2691 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2692 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2693 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2694 | template <typename F, typename C0, typename C1, typename C2, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2695 | struct context35 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2696 | F f; C0 c0; C1 c1; C2 c2; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2697 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2698 | context35(F f, C0 c0, C1 c1, C2 c2) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2699 | : f(f), c0(c0), c1(c1), c2(c2) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2700 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2701 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2702 | f(c0, c1, c2, a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2703 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2704 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2705 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2706 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2707 | struct context45 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2708 | F f; C0 c0; C1 c1; C2 c2; C3 c3; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2709 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2710 | context45(F f, C0 c0, C1 c1, C2 c2, C3 c3) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2711 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2712 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2713 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2714 | f(c0, c1, c2, c3, a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2715 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2716 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2717 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2718 | template <typename F, typename C0, typename C1, typename C2, typename C3, typename C4, typename A0, typename A1, typename A2, typename A3, typename A4> |
Bogdan Marinescu |
0:a792d4bf36c2 | 2719 | struct context55 { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2720 | F f; C0 c0; C1 c1; C2 c2; C3 c3; C4 c4; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2721 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2722 | context55(F f, C0 c0, C1 c1, C2 c2, C3 c3, C4 c4) |
Bogdan Marinescu |
0:a792d4bf36c2 | 2723 | : f(f), c0(c0), c1(c1), c2(c2), c3(c3), c4(c4) {} |
Bogdan Marinescu |
0:a792d4bf36c2 | 2724 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2725 | void operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { |
Bogdan Marinescu |
0:a792d4bf36c2 | 2726 | f(c0, c1, c2, c3, c4, a0, a1, a2, a3, a4); |
Bogdan Marinescu |
0:a792d4bf36c2 | 2727 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2728 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2729 | }; |
Bogdan Marinescu |
0:a792d4bf36c2 | 2730 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2731 | } |
Bogdan Marinescu |
0:a792d4bf36c2 | 2732 | |
Bogdan Marinescu |
0:a792d4bf36c2 | 2733 | #endif |
Jimmy Brisson |
5:705843a08e16 | 2734 |