21 return std::make_shared<CancellationContext>(
Tag {});
29 std::vector<CancellableWPtr> cancellableObjects;
37 cancellableObjects.begin(), cancellableObjects.end(),
40 if (auto lock = wptr.lock())
47 auto locked = cancellable.lock();
51 if (
mCancelled.load(std::memory_order_acquire))
61 [](
auto& wptr) { return wptr.expired(); }),
std::mutex mCancellableObjectsMutex
void OnCancelled(CancellableWPtr cancellable)
std::weak_ptr< ICancellable > CancellableWPtr
static CancellationContextPtr Create()
std::vector< CancellableWPtr > mCancellableObjects
std::atomic< bool > mCancelled
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)