22 : m_task(iTask), m_group(&iGroup), m_arena(std::make_shared<tbb::task_arena>(tbb::task_arena::attach())) {
27 : m_task(iTask.release_no_decrement()),
28 m_group(iTask.
group()),
29 m_arena(std::make_shared<tbb::task_arena>(tbb::task_arena::attach())) {}
38 : m_task(iHolder.m_task), m_group(iHolder.m_group), m_arena(iHolder.m_arena) {
45 : m_task(iOther.m_task), m_group(iOther.m_group), m_arena(std::
move(iOther.m_arena)) {
46 iOther.m_task =
nullptr;
79 if (0 == task->decrement_ref_count()) {
WaitingTaskWithArenaHolder & operator=(const WaitingTaskWithArenaHolder &iRHS)
tbb::task_group * m_group
bool taskHasFailed() const noexcept
tbb::task_group * group() const
~WaitingTaskWithArenaHolder()
void dependentTaskFailed(std::exception_ptr iPtr)
Called if waited for task failed.
bool hasTask() const noexcept
void doneWaiting(std::exception_ptr iExcept)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
WaitingTaskWithArenaHolder()
WaitingTaskHolder makeWaitingTaskHolderAndRelease()
unsigned int decrement_ref_count()
std::exception_ptr const * exceptionPtr() const
Returns exception thrown by dependent task.
std::shared_ptr< tbb::task_arena > m_arena
void increment_ref_count()