1 #ifndef FWCore_Concurrency_WaitingTaskHolder_h
2 #define FWCore_Concurrency_WaitingTaskHolder_h
23 #include "tbb/task_group.h"
53 iOther.m_task =
nullptr;
103 if (0 == task->decrement_ref_count()) {
bool hasTask() const noexcept
void presetTaskAsFailed(std::exception_ptr iExcept)
WaitingTaskHolder & operator=(const WaitingTaskHolder &iRHS)
WaitingTaskHolder(WaitingTaskHolder &&iOther)
void dependentTaskFailed(std::exception_ptr iPtr)
Called if waited for task failed.
WaitingTask * release_no_decrement() noexcept
void doneWaiting(std::exception_ptr iExcept)
bool taskHasFailed() const noexcept
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
WaitingTaskHolder(tbb::task_group &iGroup, edm::WaitingTask *iTask)
WaitingTaskHolder(const WaitingTaskHolder &iHolder)
tbb::task_group * m_group
tbb::task_group * group() const noexcept
std::exception_ptr const * exceptionPtr() const
Returns exception thrown by dependent task.
void increment_ref_count()
WaitingTaskHolder & operator=(WaitingTaskHolder &&iRHS)