this_task_arena extensions


To enable these extensions, set the TBB_PREVIEW_TASK_GROUP_EXTENSIONS macro to 1.


oneAPI Threading Building Blocks (oneTBB) implementation extends the tbb::this_task_arena specification with an overloaded enqueue function.



namespace oneapi {
    namespace tbb {
        namespace this_task_arena {
            void enqueue(task_handle&& h);

            template<typename F>
            void enqueue(F&& f) ;
        } // namespace this_task_arena
    } // namespace tbb
} // namespace oneapi

Member Functions

template<typename F>
void enqueue(F &&f)

Enqueues a task into the task_arena currently used by the calling thread to process the specified functor, then immediately returns. The F type must meet the Function Objects requirements described in the [function.objects] section of the ISO C++ Standard.

Behavior of this function is identical to template<typename F> void task_arena::enqueue(F&& f) applied to task_arena object constructed with attach parameter.

void enqueue(task_handle &&h)

Enqueues a task owned by h into the task_arena that is currently used by the calling thread.

Behavior of this function is identical to generic version (template<typename F> void enqueue(F&& f)) except the parameter type.


h should not be empty to avoid undefined behavior.

See also: