13 #ifndef __PROCESS_DELAY_HPP__    14 #define __PROCESS_DELAY_HPP__    46   return delay(duration, process.
self(), method);
    55   return delay(duration, process->
self(), method);
    59 #define TEMPLATE(Z, N, DATA)                                            \    60   template <typename T,                                                 \    61             ENUM_PARAMS(N, typename P),                                 \    62             ENUM_PARAMS(N, typename A)>                                 \    63   Timer delay(const Duration& duration,                                 \    65               void (T::*method)(ENUM_PARAMS(N, P)),                     \    66               ENUM_BINARY_PARAMS(N, A, a))                              \    68     return Clock::timer(duration, [=]() {                               \    69       dispatch(pid, method, ENUM_PARAMS(N, a));                         \    73   template <typename T,                                                 \    74             ENUM_PARAMS(N, typename P),                                 \    75             ENUM_PARAMS(N, typename A)>                                 \    76   Timer delay(const Duration& duration,                                 \    77               const Process<T>& process,                                \    78               void (T::*method)(ENUM_PARAMS(N, P)),                     \    79               ENUM_BINARY_PARAMS(N, A, a))                              \    81     return delay(duration, process.self(), method, ENUM_PARAMS(N, a));  \    84   template <typename T,                                                 \    85             ENUM_PARAMS(N, typename P),                                 \    86             ENUM_PARAMS(N, typename A)>                                 \    87   Timer delay(const Duration& duration,                                 \    88               const Process<T>* process,                                \    89               void (T::*method)(ENUM_PARAMS(N, P)),                     \    90               ENUM_BINARY_PARAMS(N, A, a))                              \    92     return delay(duration, process->self(), method, ENUM_PARAMS(N, a)); \   100 #endif // __PROCESS_DELAY_HPP__ REPEAT_FROM_TO(1, 13, TEMPLATE, _) class AsyncExecutorProcess
Definition: async.hpp:63
Definition: duration.hpp:32
void dispatch(const PID< T > &pid, void(T::*method)())
Definition: dispatch.hpp:174
Timer delay(const Duration &duration, const PID< T > &pid, void(T::*method)())
Definition: delay.hpp:31
A "process identifier" used to uniquely identify a process when dispatching messages. 
Definition: pid.hpp:289
#define TEMPLATE(Z, N, DATA)
Definition: delay.hpp:59
Definition: executor.hpp:48
PID< T > self() const 
Returns the PID of the process. 
Definition: process.hpp:514
static Timer timer(const Duration &duration, const lambda::function< void()> &thunk)
Definition: process.hpp:505