11 #include <boost/scoped_ptr.hpp>
12 #include <boost/function.hpp>
38 virtual ~
Actor() =
default;
45 template<
class... Args>
47 -> decltype(_strand.schedulerFor(std::forward<Args>(args)...))
49 return _strand.schedulerFor(std::forward<Args>(args)...);
52 template<
class... Args>
53 auto async(Args&&... args) const
54 -> decltype(_strand.
async(std::forward<Args>(args)...))
56 return _strand.async(std::forward<Args>(args)...);
59 template<
class... Args>
61 -> decltype(_strand.
asyncDelay(std::forward<Args>(args)...))
63 return _strand.asyncDelay(std::forward<Args>(args)...);
66 template<
class... Args>
68 -> decltype(_strand.
asyncAt(std::forward<Args>(args)...))
70 return _strand.asyncAt(std::forward<Args>(args)...);
82 #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 async(Args &&...args) const -> decltype(_strand.async(std::forward< Args >(args)...))
Future< R > async(boost::function< R()> callback, uint64_t usDelay)
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)...))