36 virtual ~
Actor() =
default;
43 template<
class... Args>
45 -> decltype(_strand.schedulerFor(std::forward<Args>(args)...))
47 return _strand.schedulerFor(std::forward<Args>(args)...);
50 template<
class... Args>
52 -> decltype(_strand.unwrappedSchedulerFor(std::forward<Args>(args)...))
54 return _strand.unwrappedSchedulerFor(std::forward<Args>(args)...);
57 template<
class... Args>
58 auto async(Args&&... args) const
59 -> decltype(_strand.
async(std::forward<Args>(args)...))
61 return _strand.async(std::forward<Args>(args)...);
64 template<
class... Args>
66 -> decltype(_strand.
asyncDelay(std::forward<Args>(args)...))
68 return _strand.asyncDelay(std::forward<Args>(args)...);
71 template<
class... Args>
73 -> decltype(_strand.
asyncAt(std::forward<Args>(args)...))
75 return _strand.asyncAt(std::forward<Args>(args)...);
86 #endif // _QI_ACTOR_HPP_
auto asyncDelay(F &&callback, qi::Duration delay) -> decltype(detail::asyncMaybeActor(std::forward< F >(callback), delay))
auto stranded(Args &&...args) const -> decltype(_strand.schedulerFor(std::forward< Args >(args)...))
qi::Strand * strand() const
auto asyncAt(Args &&...args) const -> decltype(_strand.asyncAt(std::forward< Args >(args)...))
auto strandedUnwrapped(Args &&...args) const -> decltype(_strand.unwrappedSchedulerFor(std::forward< Args >(args)...))
auto async(Args &&...args) const -> decltype(_strand.async(std::forward< Args >(args)...))
auto async(F &&callback) -> decltype(asyncDelay(std::forward< F >(callback), qi::Duration(0)))
auto asyncAt(F &&callback, qi::SteadyClockTimePoint timepoint) -> decltype(qi::getEventLoop() ->asyncAt(std::forward< F >(callback), timepoint))
Actor(qi::ExecutionContext &ec)
auto asyncDelay(Args &&...args) const -> decltype(_strand.asyncDelay(std::forward< Args >(args)...))