134 void WaitUntil(
const std::chrono::time_point<Clock, Duration>&)
const noexcept(
false);
176 explicit TaskBase(
impl::TaskContextHolder&& context);
187 impl::TaskContext& GetContext()
const noexcept;
190 bool HasSameContext(
const TaskBase& other)
const noexcept;
193 utils::impl::WrappedCallBase& GetPayload()
const noexcept;
196 void Invalidate()
noexcept;
202 friend class impl::DetachedTasksSyncBlock;
203 friend class TaskCancellationToken;
206 utils::FastPimpl<Impl, 8, 8> pimpl_;
209template <
typename Rep,
typename Period>
210void TaskBase::
WaitFor(
const std::chrono::duration<Rep, Period>& duration)
const noexcept(
false) {
211 WaitUntil(Deadline::FromDuration(duration));
214template <
typename Clock,
typename Duration>
215void TaskBase::
WaitUntil(
const std::chrono::time_point<Clock, Duration>& until)
const noexcept(
false) {
216 WaitUntil(Deadline::FromTimePoint(until));