1 #ifndef FWCore_Concurrency_WaitingTaskWithArenaHolder_h
2 #define FWCore_Concurrency_WaitingTaskWithArenaHolder_h
25 #include "tbb/task_arena.h"
26 #include "tbb/task_group.h"
94 return [holder =
std::move(h),
func = std::forward<F>(
f)]()
mutable {
98 holder.doneWaiting(std::current_exception());
103 template <
typename F>
108 holder.doneWaiting(*excptr);
WaitingTaskWithArenaHolder & operator=(const WaitingTaskWithArenaHolder &iRHS)
tbb::task_group * m_group
bool taskHasFailed() const noexcept
tbb::task_group * group() const
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
~WaitingTaskWithArenaHolder()
bool hasTask() const noexcept
void doneWaiting(std::exception_ptr iExcept)
WaitingTaskWithArenaHolder()
FunctorWaitingTask< F > * make_waiting_task(F f)
WaitingTaskHolder makeWaitingTaskHolderAndRelease()
auto make_lambda_with_holder(WaitingTaskWithArenaHolder h, F &&f)
auto make_waiting_task_with_holder(WaitingTaskWithArenaHolder h, F &&f)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::shared_ptr< tbb::task_arena > m_arena