|
135 |
* expiration time of the next event to be processed is greater than |
135 |
* expiration time of the next event to be processed is greater than |
136 |
* or equal to the stop time. The stop time is relative to the |
136 |
* or equal to the stop time. The stop time is relative to the |
137 |
* current simulation time. |
137 |
* current simulation time. |
138 |
* @param time the stop time, relative to the current time. |
138 |
* \param time the stop time, relative to the current time. |
139 |
*/ |
139 |
*/ |
140 |
static void Stop (Time const &time); |
140 |
static void Stop (Time const &time); |
141 |
|
141 |
|
|
148 |
* When the event expires (when it becomes due to be run), the |
148 |
* When the event expires (when it becomes due to be run), the |
149 |
* input method will be invoked on the input object. |
149 |
* input method will be invoked on the input object. |
150 |
* |
150 |
* |
151 |
* @param time the relative expiration time of the event. |
151 |
* \param time the relative expiration time of the event. |
152 |
* @param mem_ptr member method pointer to invoke |
152 |
* \param mem_ptr member method pointer to invoke |
153 |
* @param obj the object on which to invoke the member method |
153 |
* \param obj the object on which to invoke the member method |
154 |
* @returns an id for the scheduled event. |
154 |
* \returns an id for the scheduled event. |
155 |
*/ |
155 |
*/ |
156 |
template <typename MEM, typename OBJ> |
156 |
template <typename MEM, typename OBJ> |
157 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj); |
157 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj); |
158 |
|
158 |
|
159 |
/** |
159 |
/** |
160 |
* @param time the relative expiration time of the event. |
160 |
* \param time the relative expiration time of the event. |
161 |
* @param mem_ptr member method pointer to invoke |
161 |
* \param mem_ptr member method pointer to invoke |
162 |
* @param obj the object on which to invoke the member method |
162 |
* \param obj the object on which to invoke the member method |
163 |
* @param a1 the first argument to pass to the invoked method |
163 |
* \param a1 the first argument to pass to the invoked method |
164 |
* @returns an id for the scheduled event. |
164 |
* \returns an id for the scheduled event. |
165 |
*/ |
165 |
*/ |
166 |
template <typename MEM, typename OBJ, typename T1> |
166 |
template <typename MEM, typename OBJ, typename T1> |
167 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1); |
167 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1); |
168 |
|
168 |
|
169 |
/** |
169 |
/** |
170 |
* @param time the relative expiration time of the event. |
170 |
* \param time the relative expiration time of the event. |
171 |
* @param mem_ptr member method pointer to invoke |
171 |
* \param mem_ptr member method pointer to invoke |
172 |
* @param obj the object on which to invoke the member method |
172 |
* \param obj the object on which to invoke the member method |
173 |
* @param a1 the first argument to pass to the invoked method |
173 |
* \param a1 the first argument to pass to the invoked method |
174 |
* @param a2 the second argument to pass to the invoked method |
174 |
* \param a2 the second argument to pass to the invoked method |
175 |
* @returns an id for the scheduled event. |
175 |
* \returns an id for the scheduled event. |
176 |
*/ |
176 |
*/ |
177 |
template <typename MEM, typename OBJ, typename T1, typename T2> |
177 |
template <typename MEM, typename OBJ, typename T1, typename T2> |
178 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
178 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
179 |
|
179 |
|
180 |
/** |
180 |
/** |
181 |
* @param time the relative expiration time of the event. |
181 |
* \param time the relative expiration time of the event. |
182 |
* @param mem_ptr member method pointer to invoke |
182 |
* \param mem_ptr member method pointer to invoke |
183 |
* @param obj the object on which to invoke the member method |
183 |
* \param obj the object on which to invoke the member method |
184 |
* @param a1 the first argument to pass to the invoked method |
184 |
* \param a1 the first argument to pass to the invoked method |
185 |
* @param a2 the second argument to pass to the invoked method |
185 |
* \param a2 the second argument to pass to the invoked method |
186 |
* @param a3 the third argument to pass to the invoked method |
186 |
* \param a3 the third argument to pass to the invoked method |
187 |
* @returns an id for the scheduled event. |
187 |
* \returns an id for the scheduled event. |
188 |
*/ |
188 |
*/ |
189 |
template <typename MEM, typename OBJ, |
189 |
template <typename MEM, typename OBJ, |
190 |
typename T1, typename T2, typename T3> |
190 |
typename T1, typename T2, typename T3> |
191 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
191 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
192 |
|
192 |
|
193 |
/** |
193 |
/** |
194 |
* @param time the relative expiration time of the event. |
194 |
* \param time the relative expiration time of the event. |
195 |
* @param mem_ptr member method pointer to invoke |
195 |
* \param mem_ptr member method pointer to invoke |
196 |
* @param obj the object on which to invoke the member method |
196 |
* \param obj the object on which to invoke the member method |
197 |
* @param a1 the first argument to pass to the invoked method |
197 |
* \param a1 the first argument to pass to the invoked method |
198 |
* @param a2 the second argument to pass to the invoked method |
198 |
* \param a2 the second argument to pass to the invoked method |
199 |
* @param a3 the third argument to pass to the invoked method |
199 |
* \param a3 the third argument to pass to the invoked method |
200 |
* @param a4 the fourth argument to pass to the invoked method |
200 |
* \param a4 the fourth argument to pass to the invoked method |
201 |
* @returns an id for the scheduled event. |
201 |
* \returns an id for the scheduled event. |
202 |
*/ |
202 |
*/ |
203 |
template <typename MEM, typename OBJ, |
203 |
template <typename MEM, typename OBJ, |
204 |
typename T1, typename T2, typename T3, typename T4> |
204 |
typename T1, typename T2, typename T3, typename T4> |
205 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4); |
205 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4); |
206 |
|
206 |
|
207 |
/** |
207 |
/** |
208 |
* @param time the relative expiration time of the event. |
208 |
* \param time the relative expiration time of the event. |
209 |
* @param mem_ptr member method pointer to invoke |
209 |
* \param mem_ptr member method pointer to invoke |
210 |
* @param obj the object on which to invoke the member method |
210 |
* \param obj the object on which to invoke the member method |
211 |
* @param a1 the first argument to pass to the invoked method |
211 |
* \param a1 the first argument to pass to the invoked method |
212 |
* @param a2 the second argument to pass to the invoked method |
212 |
* \param a2 the second argument to pass to the invoked method |
213 |
* @param a3 the third argument to pass to the invoked method |
213 |
* \param a3 the third argument to pass to the invoked method |
214 |
* @param a4 the fourth argument to pass to the invoked method |
214 |
* \param a4 the fourth argument to pass to the invoked method |
215 |
* @param a5 the fifth argument to pass to the invoked method |
215 |
* \param a5 the fifth argument to pass to the invoked method |
216 |
* @returns an id for the scheduled event. |
216 |
* \returns an id for the scheduled event. |
217 |
*/ |
217 |
*/ |
218 |
template <typename MEM, typename OBJ, |
218 |
template <typename MEM, typename OBJ, |
219 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
219 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
220 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, |
220 |
static EventId Schedule (Time const &time, MEM mem_ptr, OBJ obj, |
221 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
221 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
222 |
/** |
222 |
/** |
223 |
* @param time the relative expiration time of the event. |
223 |
* \param time the relative expiration time of the event. |
224 |
* @param f the function to invoke |
224 |
* \param f the function to invoke |
225 |
* @returns an id for the scheduled event. |
225 |
* \returns an id for the scheduled event. |
226 |
*/ |
226 |
*/ |
227 |
static EventId Schedule (Time const &time, void (*f)(void)); |
227 |
static EventId Schedule (Time const &time, void (*f)(void)); |
228 |
|
228 |
|
229 |
/** |
229 |
/** |
230 |
* @param time the relative expiration time of the event. |
230 |
* \param time the relative expiration time of the event. |
231 |
* @param f the function to invoke |
231 |
* \param f the function to invoke |
232 |
* @param a1 the first argument to pass to the function to invoke |
232 |
* \param a1 the first argument to pass to the function to invoke |
233 |
* @returns an id for the scheduled event. |
233 |
* \returns an id for the scheduled event. |
234 |
*/ |
234 |
*/ |
235 |
template <typename U1, typename T1> |
235 |
template <typename U1, typename T1> |
236 |
static EventId Schedule (Time const &time, void (*f)(U1), T1 a1); |
236 |
static EventId Schedule (Time const &time, void (*f)(U1), T1 a1); |
237 |
|
237 |
|
238 |
/** |
238 |
/** |
239 |
* @param time the relative expiration time of the event. |
239 |
* \param time the relative expiration time of the event. |
240 |
* @param f the function to invoke |
240 |
* \param f the function to invoke |
241 |
* @param a1 the first argument to pass to the function to invoke |
241 |
* \param a1 the first argument to pass to the function to invoke |
242 |
* @param a2 the second argument to pass to the function to invoke |
242 |
* \param a2 the second argument to pass to the function to invoke |
243 |
* @returns an id for the scheduled event. |
243 |
* \returns an id for the scheduled event. |
244 |
*/ |
244 |
*/ |
245 |
template <typename U1, typename U2, typename T1, typename T2> |
245 |
template <typename U1, typename U2, typename T1, typename T2> |
246 |
static EventId Schedule (Time const &time, void (*f)(U1,U2), T1 a1, T2 a2); |
246 |
static EventId Schedule (Time const &time, void (*f)(U1,U2), T1 a1, T2 a2); |
247 |
|
247 |
|
248 |
/** |
248 |
/** |
249 |
* @param time the relative expiration time of the event. |
249 |
* \param time the relative expiration time of the event. |
250 |
* @param f the function to invoke |
250 |
* \param f the function to invoke |
251 |
* @param a1 the first argument to pass to the function to invoke |
251 |
* \param a1 the first argument to pass to the function to invoke |
252 |
* @param a2 the second argument to pass to the function to invoke |
252 |
* \param a2 the second argument to pass to the function to invoke |
253 |
* @param a3 the third argument to pass to the function to invoke |
253 |
* \param a3 the third argument to pass to the function to invoke |
254 |
* @returns an id for the scheduled event. |
254 |
* \returns an id for the scheduled event. |
255 |
*/ |
255 |
*/ |
256 |
template <typename U1, typename U2, typename U3, typename T1, typename T2, typename T3> |
256 |
template <typename U1, typename U2, typename U3, typename T1, typename T2, typename T3> |
257 |
static EventId Schedule (Time const &time, void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
257 |
static EventId Schedule (Time const &time, void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
258 |
|
258 |
|
259 |
/** |
259 |
/** |
260 |
* @param time the relative expiration time of the event. |
260 |
* \param time the relative expiration time of the event. |
261 |
* @param f the function to invoke |
261 |
* \param f the function to invoke |
262 |
* @param a1 the first argument to pass to the function to invoke |
262 |
* \param a1 the first argument to pass to the function to invoke |
263 |
* @param a2 the second argument to pass to the function to invoke |
263 |
* \param a2 the second argument to pass to the function to invoke |
264 |
* @param a3 the third argument to pass to the function to invoke |
264 |
* \param a3 the third argument to pass to the function to invoke |
265 |
* @param a4 the fourth argument to pass to the function to invoke |
265 |
* \param a4 the fourth argument to pass to the function to invoke |
266 |
* @returns an id for the scheduled event. |
266 |
* \returns an id for the scheduled event. |
267 |
*/ |
267 |
*/ |
268 |
template <typename U1, typename U2, typename U3, typename U4, |
268 |
template <typename U1, typename U2, typename U3, typename U4, |
269 |
typename T1, typename T2, typename T3, typename T4> |
269 |
typename T1, typename T2, typename T3, typename T4> |
270 |
static EventId Schedule (Time const &time, void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
270 |
static EventId Schedule (Time const &time, void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
271 |
|
271 |
|
272 |
/** |
272 |
/** |
273 |
* @param time the relative expiration time of the event. |
273 |
* \param time the relative expiration time of the event. |
274 |
* @param f the function to invoke |
274 |
* \param f the function to invoke |
275 |
* @param a1 the first argument to pass to the function to invoke |
275 |
* \param a1 the first argument to pass to the function to invoke |
276 |
* @param a2 the second argument to pass to the function to invoke |
276 |
* \param a2 the second argument to pass to the function to invoke |
277 |
* @param a3 the third argument to pass to the function to invoke |
277 |
* \param a3 the third argument to pass to the function to invoke |
278 |
* @param a4 the fourth argument to pass to the function to invoke |
278 |
* \param a4 the fourth argument to pass to the function to invoke |
279 |
* @param a5 the fifth argument to pass to the function to invoke |
279 |
* \param a5 the fifth argument to pass to the function to invoke |
280 |
* @returns an id for the scheduled event. |
280 |
* \returns an id for the scheduled event. |
281 |
*/ |
281 |
*/ |
282 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
282 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
283 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
283 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
|
287 |
* Schedule an event with the given context. |
287 |
* Schedule an event with the given context. |
288 |
* A context of 0xffffffff means no context is specified. |
288 |
* A context of 0xffffffff means no context is specified. |
289 |
* |
289 |
* |
290 |
* @param time the relative expiration time of the event. |
290 |
* \param time the relative expiration time of the event. |
291 |
* @param context user-specified context parameter |
291 |
* \param context user-specified context parameter |
292 |
* @param mem_ptr member method pointer to invoke |
292 |
* \param mem_ptr member method pointer to invoke |
293 |
* @param obj the object on which to invoke the member method |
293 |
* \param obj the object on which to invoke the member method |
294 |
*/ |
294 |
*/ |
295 |
template <typename MEM, typename OBJ> |
295 |
template <typename MEM, typename OBJ> |
296 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj); |
296 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj); |
297 |
|
297 |
|
298 |
/** |
298 |
/** |
299 |
* @param time the relative expiration time of the event. |
299 |
* \param time the relative expiration time of the event. |
300 |
* @param context user-specified context parameter |
300 |
* \param context user-specified context parameter |
301 |
* @param mem_ptr member method pointer to invoke |
301 |
* \param mem_ptr member method pointer to invoke |
302 |
* @param obj the object on which to invoke the member method |
302 |
* \param obj the object on which to invoke the member method |
303 |
* @param a1 the first argument to pass to the invoked method |
303 |
* \param a1 the first argument to pass to the invoked method |
304 |
*/ |
304 |
*/ |
305 |
template <typename MEM, typename OBJ, typename T1> |
305 |
template <typename MEM, typename OBJ, typename T1> |
306 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1); |
306 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1); |
307 |
|
307 |
|
308 |
/** |
308 |
/** |
309 |
* @param time the relative expiration time of the event. |
309 |
* \param time the relative expiration time of the event. |
310 |
* @param context user-specified context parameter |
310 |
* \param context user-specified context parameter |
311 |
* @param mem_ptr member method pointer to invoke |
311 |
* \param mem_ptr member method pointer to invoke |
312 |
* @param obj the object on which to invoke the member method |
312 |
* \param obj the object on which to invoke the member method |
313 |
* @param a1 the first argument to pass to the invoked method |
313 |
* \param a1 the first argument to pass to the invoked method |
314 |
* @param a2 the second argument to pass to the invoked method |
314 |
* \param a2 the second argument to pass to the invoked method |
315 |
*/ |
315 |
*/ |
316 |
template <typename MEM, typename OBJ, typename T1, typename T2> |
316 |
template <typename MEM, typename OBJ, typename T1, typename T2> |
317 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
317 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
318 |
|
318 |
|
319 |
/** |
319 |
/** |
320 |
* @param time the relative expiration time of the event. |
320 |
* \param time the relative expiration time of the event. |
321 |
* @param context user-specified context parameter |
321 |
* \param context user-specified context parameter |
322 |
* @param mem_ptr member method pointer to invoke |
322 |
* \param mem_ptr member method pointer to invoke |
323 |
* @param obj the object on which to invoke the member method |
323 |
* \param obj the object on which to invoke the member method |
324 |
* @param a1 the first argument to pass to the invoked method |
324 |
* \param a1 the first argument to pass to the invoked method |
325 |
* @param a2 the second argument to pass to the invoked method |
325 |
* \param a2 the second argument to pass to the invoked method |
326 |
* @param a3 the third argument to pass to the invoked method |
326 |
* \param a3 the third argument to pass to the invoked method |
327 |
*/ |
327 |
*/ |
328 |
template <typename MEM, typename OBJ, |
328 |
template <typename MEM, typename OBJ, |
329 |
typename T1, typename T2, typename T3> |
329 |
typename T1, typename T2, typename T3> |
330 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
330 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
331 |
|
331 |
|
332 |
/** |
332 |
/** |
333 |
* @param time the relative expiration time of the event. |
333 |
* \param time the relative expiration time of the event. |
334 |
* @param context user-specified context parameter |
334 |
* \param context user-specified context parameter |
335 |
* @param mem_ptr member method pointer to invoke |
335 |
* \param mem_ptr member method pointer to invoke |
336 |
* @param obj the object on which to invoke the member method |
336 |
* \param obj the object on which to invoke the member method |
337 |
* @param a1 the first argument to pass to the invoked method |
337 |
* \param a1 the first argument to pass to the invoked method |
338 |
* @param a2 the second argument to pass to the invoked method |
338 |
* \param a2 the second argument to pass to the invoked method |
339 |
* @param a3 the third argument to pass to the invoked method |
339 |
* \param a3 the third argument to pass to the invoked method |
340 |
* @param a4 the fourth argument to pass to the invoked method |
340 |
* \param a4 the fourth argument to pass to the invoked method |
341 |
*/ |
341 |
*/ |
342 |
template <typename MEM, typename OBJ, |
342 |
template <typename MEM, typename OBJ, |
343 |
typename T1, typename T2, typename T3, typename T4> |
343 |
typename T1, typename T2, typename T3, typename T4> |
344 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4); |
344 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4); |
345 |
|
345 |
|
346 |
/** |
346 |
/** |
347 |
* @param time the relative expiration time of the event. |
347 |
* \param time the relative expiration time of the event. |
348 |
* @param context user-specified context parameter |
348 |
* \param context user-specified context parameter |
349 |
* @param mem_ptr member method pointer to invoke |
349 |
* \param mem_ptr member method pointer to invoke |
350 |
* @param obj the object on which to invoke the member method |
350 |
* \param obj the object on which to invoke the member method |
351 |
* @param a1 the first argument to pass to the invoked method |
351 |
* \param a1 the first argument to pass to the invoked method |
352 |
* @param a2 the second argument to pass to the invoked method |
352 |
* \param a2 the second argument to pass to the invoked method |
353 |
* @param a3 the third argument to pass to the invoked method |
353 |
* \param a3 the third argument to pass to the invoked method |
354 |
* @param a4 the fourth argument to pass to the invoked method |
354 |
* \param a4 the fourth argument to pass to the invoked method |
355 |
* @param a5 the fifth argument to pass to the invoked method |
355 |
* \param a5 the fifth argument to pass to the invoked method |
356 |
*/ |
356 |
*/ |
357 |
template <typename MEM, typename OBJ, |
357 |
template <typename MEM, typename OBJ, |
358 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
358 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
359 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, |
359 |
static void ScheduleWithContext (uint32_t context, Time const &time, MEM mem_ptr, OBJ obj, |
360 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
360 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
361 |
/** |
361 |
/** |
362 |
* @param time the relative expiration time of the event. |
362 |
* \param time the relative expiration time of the event. |
363 |
* @param context user-specified context parameter |
363 |
* \param context user-specified context parameter |
364 |
* @param f the function to invoke |
364 |
* \param f the function to invoke |
365 |
*/ |
365 |
*/ |
366 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(void)); |
366 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(void)); |
367 |
|
367 |
|
368 |
/** |
368 |
/** |
369 |
* @param time the relative expiration time of the event. |
369 |
* \param time the relative expiration time of the event. |
370 |
* @param context user-specified context parameter |
370 |
* \param context user-specified context parameter |
371 |
* @param f the function to invoke |
371 |
* \param f the function to invoke |
372 |
* @param a1 the first argument to pass to the function to invoke |
372 |
* \param a1 the first argument to pass to the function to invoke |
373 |
*/ |
373 |
*/ |
374 |
template <typename U1, typename T1> |
374 |
template <typename U1, typename T1> |
375 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1), T1 a1); |
375 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1), T1 a1); |
376 |
|
376 |
|
377 |
/** |
377 |
/** |
378 |
* @param time the relative expiration time of the event. |
378 |
* \param time the relative expiration time of the event. |
379 |
* @param context user-specified context parameter |
379 |
* \param context user-specified context parameter |
380 |
* @param f the function to invoke |
380 |
* \param f the function to invoke |
381 |
* @param a1 the first argument to pass to the function to invoke |
381 |
* \param a1 the first argument to pass to the function to invoke |
382 |
* @param a2 the second argument to pass to the function to invoke |
382 |
* \param a2 the second argument to pass to the function to invoke |
383 |
*/ |
383 |
*/ |
384 |
template <typename U1, typename U2, typename T1, typename T2> |
384 |
template <typename U1, typename U2, typename T1, typename T2> |
385 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2), T1 a1, T2 a2); |
385 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2), T1 a1, T2 a2); |
386 |
|
386 |
|
387 |
/** |
387 |
/** |
388 |
* @param time the relative expiration time of the event. |
388 |
* \param time the relative expiration time of the event. |
389 |
* @param context user-specified context parameter |
389 |
* \param context user-specified context parameter |
390 |
* @param f the function to invoke |
390 |
* \param f the function to invoke |
391 |
* @param a1 the first argument to pass to the function to invoke |
391 |
* \param a1 the first argument to pass to the function to invoke |
392 |
* @param a2 the second argument to pass to the function to invoke |
392 |
* \param a2 the second argument to pass to the function to invoke |
393 |
* @param a3 the third argument to pass to the function to invoke |
393 |
* \param a3 the third argument to pass to the function to invoke |
394 |
*/ |
394 |
*/ |
395 |
template <typename U1, typename U2, typename U3, typename T1, typename T2, typename T3> |
395 |
template <typename U1, typename U2, typename U3, typename T1, typename T2, typename T3> |
396 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
396 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
397 |
|
397 |
|
398 |
/** |
398 |
/** |
399 |
* @param time the relative expiration time of the event. |
399 |
* \param time the relative expiration time of the event. |
400 |
* @param context user-specified context parameter |
400 |
* \param context user-specified context parameter |
401 |
* @param f the function to invoke |
401 |
* \param f the function to invoke |
402 |
* @param a1 the first argument to pass to the function to invoke |
402 |
* \param a1 the first argument to pass to the function to invoke |
403 |
* @param a2 the second argument to pass to the function to invoke |
403 |
* \param a2 the second argument to pass to the function to invoke |
404 |
* @param a3 the third argument to pass to the function to invoke |
404 |
* \param a3 the third argument to pass to the function to invoke |
405 |
* @param a4 the fourth argument to pass to the function to invoke |
405 |
* \param a4 the fourth argument to pass to the function to invoke |
406 |
*/ |
406 |
*/ |
407 |
template <typename U1, typename U2, typename U3, typename U4, |
407 |
template <typename U1, typename U2, typename U3, typename U4, |
408 |
typename T1, typename T2, typename T3, typename T4> |
408 |
typename T1, typename T2, typename T3, typename T4> |
409 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
409 |
static void ScheduleWithContext (uint32_t context, Time const &time, void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
410 |
|
410 |
|
411 |
/** |
411 |
/** |
412 |
* @param time the relative expiration time of the event. |
412 |
* \param time the relative expiration time of the event. |
413 |
* @param context user-specified context parameter |
413 |
* \param context user-specified context parameter |
414 |
* @param f the function to invoke |
414 |
* \param f the function to invoke |
415 |
* @param a1 the first argument to pass to the function to invoke |
415 |
* \param a1 the first argument to pass to the function to invoke |
416 |
* @param a2 the second argument to pass to the function to invoke |
416 |
* \param a2 the second argument to pass to the function to invoke |
417 |
* @param a3 the third argument to pass to the function to invoke |
417 |
* \param a3 the third argument to pass to the function to invoke |
418 |
* @param a4 the fourth argument to pass to the function to invoke |
418 |
* \param a4 the fourth argument to pass to the function to invoke |
419 |
* @param a5 the fifth argument to pass to the function to invoke |
419 |
* \param a5 the fifth argument to pass to the function to invoke |
420 |
*/ |
420 |
*/ |
421 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
421 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
422 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
422 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
|
427 |
* to expire "Now" are scheduled FIFO, after all normal events |
427 |
* to expire "Now" are scheduled FIFO, after all normal events |
428 |
* have expired. |
428 |
* have expired. |
429 |
* |
429 |
* |
430 |
* @param mem_ptr member method pointer to invoke |
430 |
* \param mem_ptr member method pointer to invoke |
431 |
* @param obj the object on which to invoke the member method |
431 |
* \param obj the object on which to invoke the member method |
432 |
*/ |
432 |
*/ |
433 |
template <typename MEM, typename OBJ> |
433 |
template <typename MEM, typename OBJ> |
434 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj); |
434 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj); |
435 |
|
435 |
|
436 |
/** |
436 |
/** |
437 |
* @param mem_ptr member method pointer to invoke |
437 |
* \param mem_ptr member method pointer to invoke |
438 |
* @param obj the object on which to invoke the member method |
438 |
* \param obj the object on which to invoke the member method |
439 |
* @param a1 the first argument to pass to the invoked method |
439 |
* \param a1 the first argument to pass to the invoked method |
440 |
*/ |
440 |
*/ |
441 |
template <typename MEM, typename OBJ, |
441 |
template <typename MEM, typename OBJ, |
442 |
typename T1> |
442 |
typename T1> |
443 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1); |
443 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1); |
444 |
|
444 |
|
445 |
/** |
445 |
/** |
446 |
* @param mem_ptr member method pointer to invoke |
446 |
* \param mem_ptr member method pointer to invoke |
447 |
* @param obj the object on which to invoke the member method |
447 |
* \param obj the object on which to invoke the member method |
448 |
* @param a1 the first argument to pass to the invoked method |
448 |
* \param a1 the first argument to pass to the invoked method |
449 |
* @param a2 the second argument to pass to the invoked method |
449 |
* \param a2 the second argument to pass to the invoked method |
450 |
*/ |
450 |
*/ |
451 |
template <typename MEM, typename OBJ, |
451 |
template <typename MEM, typename OBJ, |
452 |
typename T1, typename T2> |
452 |
typename T1, typename T2> |
453 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
453 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
454 |
|
454 |
|
455 |
/** |
455 |
/** |
456 |
* @param mem_ptr member method pointer to invoke |
456 |
* \param mem_ptr member method pointer to invoke |
457 |
* @param obj the object on which to invoke the member method |
457 |
* \param obj the object on which to invoke the member method |
458 |
* @param a1 the first argument to pass to the invoked method |
458 |
* \param a1 the first argument to pass to the invoked method |
459 |
* @param a2 the second argument to pass to the invoked method |
459 |
* \param a2 the second argument to pass to the invoked method |
460 |
* @param a3 the third argument to pass to the invoked method |
460 |
* \param a3 the third argument to pass to the invoked method |
461 |
*/ |
461 |
*/ |
462 |
template <typename MEM, typename OBJ, |
462 |
template <typename MEM, typename OBJ, |
463 |
typename T1, typename T2, typename T3> |
463 |
typename T1, typename T2, typename T3> |
464 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
464 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
465 |
|
465 |
|
466 |
/** |
466 |
/** |
467 |
* @param mem_ptr member method pointer to invoke |
467 |
* \param mem_ptr member method pointer to invoke |
468 |
* @param obj the object on which to invoke the member method |
468 |
* \param obj the object on which to invoke the member method |
469 |
* @param a1 the first argument to pass to the invoked method |
469 |
* \param a1 the first argument to pass to the invoked method |
470 |
* @param a2 the second argument to pass to the invoked method |
470 |
* \param a2 the second argument to pass to the invoked method |
471 |
* @param a3 the third argument to pass to the invoked method |
471 |
* \param a3 the third argument to pass to the invoked method |
472 |
* @param a4 the fourth argument to pass to the invoked method |
472 |
* \param a4 the fourth argument to pass to the invoked method |
473 |
*/ |
473 |
*/ |
474 |
template <typename MEM, typename OBJ, |
474 |
template <typename MEM, typename OBJ, |
475 |
typename T1, typename T2, typename T3, typename T4> |
475 |
typename T1, typename T2, typename T3, typename T4> |
476 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, |
476 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, |
477 |
T1 a1, T2 a2, T3 a3, T4 a4); |
477 |
T1 a1, T2 a2, T3 a3, T4 a4); |
478 |
/** |
478 |
/** |
479 |
* @param mem_ptr member method pointer to invoke |
479 |
* \param mem_ptr member method pointer to invoke |
480 |
* @param obj the object on which to invoke the member method |
480 |
* \param obj the object on which to invoke the member method |
481 |
* @param a1 the first argument to pass to the invoked method |
481 |
* \param a1 the first argument to pass to the invoked method |
482 |
* @param a2 the second argument to pass to the invoked method |
482 |
* \param a2 the second argument to pass to the invoked method |
483 |
* @param a3 the third argument to pass to the invoked method |
483 |
* \param a3 the third argument to pass to the invoked method |
484 |
* @param a4 the fourth argument to pass to the invoked method |
484 |
* \param a4 the fourth argument to pass to the invoked method |
485 |
* @param a5 the fifth argument to pass to the invoked method |
485 |
* \param a5 the fifth argument to pass to the invoked method |
486 |
*/ |
486 |
*/ |
487 |
template <typename MEM, typename OBJ, |
487 |
template <typename MEM, typename OBJ, |
488 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
488 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
489 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, |
489 |
static EventId ScheduleNow (MEM mem_ptr, OBJ obj, |
490 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
490 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
491 |
/** |
491 |
/** |
492 |
* @param f the function to invoke |
492 |
* \param f the function to invoke |
493 |
*/ |
493 |
*/ |
494 |
static EventId ScheduleNow (void (*f)(void)); |
494 |
static EventId ScheduleNow (void (*f)(void)); |
495 |
|
495 |
|
496 |
/** |
496 |
/** |
497 |
* @param f the function to invoke |
497 |
* \param f the function to invoke |
498 |
* @param a1 the first argument to pass to the function to invoke |
498 |
* \param a1 the first argument to pass to the function to invoke |
499 |
*/ |
499 |
*/ |
500 |
template <typename U1, |
500 |
template <typename U1, |
501 |
typename T1> |
501 |
typename T1> |
502 |
static EventId ScheduleNow (void (*f)(U1), T1 a1); |
502 |
static EventId ScheduleNow (void (*f)(U1), T1 a1); |
503 |
|
503 |
|
504 |
/** |
504 |
/** |
505 |
* @param f the function to invoke |
505 |
* \param f the function to invoke |
506 |
* @param a1 the first argument to pass to the function to invoke |
506 |
* \param a1 the first argument to pass to the function to invoke |
507 |
* @param a2 the second argument to pass to the function to invoke |
507 |
* \param a2 the second argument to pass to the function to invoke |
508 |
*/ |
508 |
*/ |
509 |
template <typename U1, typename U2, |
509 |
template <typename U1, typename U2, |
510 |
typename T1, typename T2> |
510 |
typename T1, typename T2> |
511 |
static EventId ScheduleNow (void (*f)(U1,U2), T1 a1, T2 a2); |
511 |
static EventId ScheduleNow (void (*f)(U1,U2), T1 a1, T2 a2); |
512 |
|
512 |
|
513 |
/** |
513 |
/** |
514 |
* @param f the function to invoke |
514 |
* \param f the function to invoke |
515 |
* @param a1 the first argument to pass to the function to invoke |
515 |
* \param a1 the first argument to pass to the function to invoke |
516 |
* @param a2 the second argument to pass to the function to invoke |
516 |
* \param a2 the second argument to pass to the function to invoke |
517 |
* @param a3 the third argument to pass to the function to invoke |
517 |
* \param a3 the third argument to pass to the function to invoke |
518 |
*/ |
518 |
*/ |
519 |
template <typename U1, typename U2, typename U3, |
519 |
template <typename U1, typename U2, typename U3, |
520 |
typename T1, typename T2, typename T3> |
520 |
typename T1, typename T2, typename T3> |
521 |
static EventId ScheduleNow (void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
521 |
static EventId ScheduleNow (void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
522 |
|
522 |
|
523 |
/** |
523 |
/** |
524 |
* @param f the function to invoke |
524 |
* \param f the function to invoke |
525 |
* @param a1 the first argument to pass to the function to invoke |
525 |
* \param a1 the first argument to pass to the function to invoke |
526 |
* @param a2 the second argument to pass to the function to invoke |
526 |
* \param a2 the second argument to pass to the function to invoke |
527 |
* @param a3 the third argument to pass to the function to invoke |
527 |
* \param a3 the third argument to pass to the function to invoke |
528 |
* @param a4 the fourth argument to pass to the function to invoke |
528 |
* \param a4 the fourth argument to pass to the function to invoke |
529 |
*/ |
529 |
*/ |
530 |
template <typename U1, typename U2, typename U3, typename U4, |
530 |
template <typename U1, typename U2, typename U3, typename U4, |
531 |
typename T1, typename T2, typename T3, typename T4> |
531 |
typename T1, typename T2, typename T3, typename T4> |
532 |
static EventId ScheduleNow (void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
532 |
static EventId ScheduleNow (void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
533 |
|
533 |
|
534 |
/** |
534 |
/** |
535 |
* @param f the function to invoke |
535 |
* \param f the function to invoke |
536 |
* @param a1 the first argument to pass to the function to invoke |
536 |
* \param a1 the first argument to pass to the function to invoke |
537 |
* @param a2 the second argument to pass to the function to invoke |
537 |
* \param a2 the second argument to pass to the function to invoke |
538 |
* @param a3 the third argument to pass to the function to invoke |
538 |
* \param a3 the third argument to pass to the function to invoke |
539 |
* @param a4 the fourth argument to pass to the function to invoke |
539 |
* \param a4 the fourth argument to pass to the function to invoke |
540 |
* @param a5 the fifth argument to pass to the function to invoke |
540 |
* \param a5 the fifth argument to pass to the function to invoke |
541 |
*/ |
541 |
*/ |
542 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
542 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
543 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
543 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
|
549 |
* after all normal events have expired and only when |
549 |
* after all normal events have expired and only when |
550 |
* Simulator::Destroy is invoked. |
550 |
* Simulator::Destroy is invoked. |
551 |
* |
551 |
* |
552 |
* @param mem_ptr member method pointer to invoke |
552 |
* \param mem_ptr member method pointer to invoke |
553 |
* @param obj the object on which to invoke the member method |
553 |
* \param obj the object on which to invoke the member method |
554 |
*/ |
554 |
*/ |
555 |
template <typename MEM, typename OBJ> |
555 |
template <typename MEM, typename OBJ> |
556 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj); |
556 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj); |
557 |
|
557 |
|
558 |
/** |
558 |
/** |
559 |
* @param mem_ptr member method pointer to invoke |
559 |
* \param mem_ptr member method pointer to invoke |
560 |
* @param obj the object on which to invoke the member method |
560 |
* \param obj the object on which to invoke the member method |
561 |
* @param a1 the first argument to pass to the invoked method |
561 |
* \param a1 the first argument to pass to the invoked method |
562 |
*/ |
562 |
*/ |
563 |
template <typename MEM, typename OBJ, |
563 |
template <typename MEM, typename OBJ, |
564 |
typename T1> |
564 |
typename T1> |
565 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1); |
565 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1); |
566 |
|
566 |
|
567 |
/** |
567 |
/** |
568 |
* @param mem_ptr member method pointer to invoke |
568 |
* \param mem_ptr member method pointer to invoke |
569 |
* @param obj the object on which to invoke the member method |
569 |
* \param obj the object on which to invoke the member method |
570 |
* @param a1 the first argument to pass to the invoked method |
570 |
* \param a1 the first argument to pass to the invoked method |
571 |
* @param a2 the second argument to pass to the invoked method |
571 |
* \param a2 the second argument to pass to the invoked method |
572 |
*/ |
572 |
*/ |
573 |
template <typename MEM, typename OBJ, |
573 |
template <typename MEM, typename OBJ, |
574 |
typename T1, typename T2> |
574 |
typename T1, typename T2> |
575 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
575 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2); |
576 |
|
576 |
|
577 |
/** |
577 |
/** |
578 |
* @param mem_ptr member method pointer to invoke |
578 |
* \param mem_ptr member method pointer to invoke |
579 |
* @param obj the object on which to invoke the member method |
579 |
* \param obj the object on which to invoke the member method |
580 |
* @param a1 the first argument to pass to the invoked method |
580 |
* \param a1 the first argument to pass to the invoked method |
581 |
* @param a2 the second argument to pass to the invoked method |
581 |
* \param a2 the second argument to pass to the invoked method |
582 |
* @param a3 the third argument to pass to the invoked method |
582 |
* \param a3 the third argument to pass to the invoked method |
583 |
*/ |
583 |
*/ |
584 |
template <typename MEM, typename OBJ, |
584 |
template <typename MEM, typename OBJ, |
585 |
typename T1, typename T2, typename T3> |
585 |
typename T1, typename T2, typename T3> |
586 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
586 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3); |
587 |
|
587 |
|
588 |
/** |
588 |
/** |
589 |
* @param mem_ptr member method pointer to invoke |
589 |
* \param mem_ptr member method pointer to invoke |
590 |
* @param obj the object on which to invoke the member method |
590 |
* \param obj the object on which to invoke the member method |
591 |
* @param a1 the first argument to pass to the invoked method |
591 |
* \param a1 the first argument to pass to the invoked method |
592 |
* @param a2 the second argument to pass to the invoked method |
592 |
* \param a2 the second argument to pass to the invoked method |
593 |
* @param a3 the third argument to pass to the invoked method |
593 |
* \param a3 the third argument to pass to the invoked method |
594 |
* @param a4 the fourth argument to pass to the invoked method |
594 |
* \param a4 the fourth argument to pass to the invoked method |
595 |
*/ |
595 |
*/ |
596 |
template <typename MEM, typename OBJ, |
596 |
template <typename MEM, typename OBJ, |
597 |
typename T1, typename T2, typename T3, typename T4> |
597 |
typename T1, typename T2, typename T3, typename T4> |
598 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, |
598 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, |
599 |
T1 a1, T2 a2, T3 a3, T4 a4); |
599 |
T1 a1, T2 a2, T3 a3, T4 a4); |
600 |
/** |
600 |
/** |
601 |
* @param mem_ptr member method pointer to invoke |
601 |
* \param mem_ptr member method pointer to invoke |
602 |
* @param obj the object on which to invoke the member method |
602 |
* \param obj the object on which to invoke the member method |
603 |
* @param a1 the first argument to pass to the invoked method |
603 |
* \param a1 the first argument to pass to the invoked method |
604 |
* @param a2 the second argument to pass to the invoked method |
604 |
* \param a2 the second argument to pass to the invoked method |
605 |
* @param a3 the third argument to pass to the invoked method |
605 |
* \param a3 the third argument to pass to the invoked method |
606 |
* @param a4 the fourth argument to pass to the invoked method |
606 |
* \param a4 the fourth argument to pass to the invoked method |
607 |
* @param a5 the fifth argument to pass to the invoked method |
607 |
* \param a5 the fifth argument to pass to the invoked method |
608 |
*/ |
608 |
*/ |
609 |
template <typename MEM, typename OBJ, |
609 |
template <typename MEM, typename OBJ, |
610 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
610 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
611 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, |
611 |
static EventId ScheduleDestroy (MEM mem_ptr, OBJ obj, |
612 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
612 |
T1 a1, T2 a2, T3 a3, T4 a4, T5 a5); |
613 |
/** |
613 |
/** |
614 |
* @param f the function to invoke |
614 |
* \param f the function to invoke |
615 |
*/ |
615 |
*/ |
616 |
static EventId ScheduleDestroy (void (*f)(void)); |
616 |
static EventId ScheduleDestroy (void (*f)(void)); |
617 |
|
617 |
|
618 |
/** |
618 |
/** |
619 |
* @param f the function to invoke |
619 |
* \param f the function to invoke |
620 |
* @param a1 the first argument to pass to the function to invoke |
620 |
* \param a1 the first argument to pass to the function to invoke |
621 |
*/ |
621 |
*/ |
622 |
template <typename U1, |
622 |
template <typename U1, |
623 |
typename T1> |
623 |
typename T1> |
624 |
static EventId ScheduleDestroy (void (*f)(U1), T1 a1); |
624 |
static EventId ScheduleDestroy (void (*f)(U1), T1 a1); |
625 |
|
625 |
|
626 |
/** |
626 |
/** |
627 |
* @param f the function to invoke |
627 |
* \param f the function to invoke |
628 |
* @param a1 the first argument to pass to the function to invoke |
628 |
* \param a1 the first argument to pass to the function to invoke |
629 |
* @param a2 the second argument to pass to the function to invoke |
629 |
* \param a2 the second argument to pass to the function to invoke |
630 |
*/ |
630 |
*/ |
631 |
template <typename U1, typename U2, |
631 |
template <typename U1, typename U2, |
632 |
typename T1, typename T2> |
632 |
typename T1, typename T2> |
633 |
static EventId ScheduleDestroy (void (*f)(U1,U2), T1 a1, T2 a2); |
633 |
static EventId ScheduleDestroy (void (*f)(U1,U2), T1 a1, T2 a2); |
634 |
|
634 |
|
635 |
/** |
635 |
/** |
636 |
* @param f the function to invoke |
636 |
* \param f the function to invoke |
637 |
* @param a1 the first argument to pass to the function to invoke |
637 |
* \param a1 the first argument to pass to the function to invoke |
638 |
* @param a2 the second argument to pass to the function to invoke |
638 |
* \param a2 the second argument to pass to the function to invoke |
639 |
* @param a3 the third argument to pass to the function to invoke |
639 |
* \param a3 the third argument to pass to the function to invoke |
640 |
*/ |
640 |
*/ |
641 |
template <typename U1, typename U2, typename U3, |
641 |
template <typename U1, typename U2, typename U3, |
642 |
typename T1, typename T2, typename T3> |
642 |
typename T1, typename T2, typename T3> |
643 |
static EventId ScheduleDestroy (void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
643 |
static EventId ScheduleDestroy (void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3); |
644 |
|
644 |
|
645 |
/** |
645 |
/** |
646 |
* @param f the function to invoke |
646 |
* \param f the function to invoke |
647 |
* @param a1 the first argument to pass to the function to invoke |
647 |
* \param a1 the first argument to pass to the function to invoke |
648 |
* @param a2 the second argument to pass to the function to invoke |
648 |
* \param a2 the second argument to pass to the function to invoke |
649 |
* @param a3 the third argument to pass to the function to invoke |
649 |
* \param a3 the third argument to pass to the function to invoke |
650 |
* @param a4 the fourth argument to pass to the function to invoke |
650 |
* \param a4 the fourth argument to pass to the function to invoke |
651 |
*/ |
651 |
*/ |
652 |
template <typename U1, typename U2, typename U3, typename U4, |
652 |
template <typename U1, typename U2, typename U3, typename U4, |
653 |
typename T1, typename T2, typename T3, typename T4> |
653 |
typename T1, typename T2, typename T3, typename T4> |
654 |
static EventId ScheduleDestroy (void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
654 |
static EventId ScheduleDestroy (void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4); |
655 |
|
655 |
|
656 |
/** |
656 |
/** |
657 |
* @param f the function to invoke |
657 |
* \param f the function to invoke |
658 |
* @param a1 the first argument to pass to the function to invoke |
658 |
* \param a1 the first argument to pass to the function to invoke |
659 |
* @param a2 the second argument to pass to the function to invoke |
659 |
* \param a2 the second argument to pass to the function to invoke |
660 |
* @param a3 the third argument to pass to the function to invoke |
660 |
* \param a3 the third argument to pass to the function to invoke |
661 |
* @param a4 the fourth argument to pass to the function to invoke |
661 |
* \param a4 the fourth argument to pass to the function to invoke |
662 |
* @param a5 the fifth argument to pass to the function to invoke |
662 |
* \param a5 the fifth argument to pass to the function to invoke |
663 |
*/ |
663 |
*/ |
664 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
664 |
template <typename U1, typename U2, typename U3, typename U4, typename U5, |
665 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
665 |
typename T1, typename T2, typename T3, typename T4, typename T5> |
|
674 |
* Note that it is not possible to remove events which were scheduled |
674 |
* Note that it is not possible to remove events which were scheduled |
675 |
* for the "destroy" time. Doing so will result in a program error (crash). |
675 |
* for the "destroy" time. Doing so will result in a program error (crash). |
676 |
* |
676 |
* |
677 |
* @param id the event to remove from the list of scheduled events. |
677 |
* \param id the event to remove from the list of scheduled events. |
678 |
*/ |
678 |
*/ |
679 |
static void Remove (const EventId &id); |
679 |
static void Remove (const EventId &id); |
680 |
|
680 |
|
|
688 |
* Note that it is not possible to cancel events which were scheduled |
688 |
* Note that it is not possible to cancel events which were scheduled |
689 |
* for the "destroy" time. Doing so will result in a program error (crash). |
689 |
* for the "destroy" time. Doing so will result in a program error (crash). |
690 |
* |
690 |
* |
691 |
* @param id the event to cancel |
691 |
* \param id the event to cancel |
692 |
*/ |
692 |
*/ |
693 |
static void Cancel (const EventId &id); |
693 |
static void Cancel (const EventId &id); |
694 |
|
694 |
|
|
701 |
* which means that if the code executed by the event calls |
701 |
* which means that if the code executed by the event calls |
702 |
* this function, it will get true. |
702 |
* this function, it will get true. |
703 |
* |
703 |
* |
704 |
* @param id the event to test for expiration |
704 |
* \param id the event to test for expiration |
705 |
* @returns true if the event has expired, false otherwise. |
705 |
* \returns true if the event has expired, false otherwise. |
706 |
*/ |
706 |
*/ |
707 |
static bool IsExpired (const EventId &id); |
707 |
static bool IsExpired (const EventId &id); |
708 |
|
708 |
|