Go to the documentation of this file. 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()) {
WaitingTaskHolder(WaitingTaskHolder &&iOther)
WaitingTaskHolder & operator=(WaitingTaskHolder &&iRHS)
void doneWaiting(std::exception_ptr iExcept)
bool taskHasFailed() const noexcept
tbb::task_group * m_group
void presetTaskAsFailed(std::exception_ptr iExcept)
std::exception_ptr const * exceptionPtr() const
Returns exception thrown by dependent task.
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
WaitingTask * release_no_decrement() noexcept
void dependentTaskFailed(std::exception_ptr iPtr)
Called if waited for task failed.
WaitingTaskHolder & operator=(const WaitingTaskHolder &iRHS)
void increment_ref_count()
WaitingTaskHolder(tbb::task_group &iGroup, edm::WaitingTask *iTask)
WaitingTaskHolder(const WaitingTaskHolder &iHolder)
bool hasTask() const noexcept
tbb::task_group * group() const noexcept