Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::auto_empty_task Class Reference

Smart holder for the empty task class with automatic destruction. More...

#include <scheduler_utility.h>

Collaboration diagram for tbb::internal::auto_empty_task:

Public Member Functions

 auto_empty_task (__TBB_CONTEXT_ARG(generic_scheduler *s, task_group_context *context))
 
 ~auto_empty_task ()
 
 operator task & ()
 
taskoperator& ()
 
task_prefixprefix ()
 

Private Attributes

taskmy_task
 
generic_schedulermy_scheduler
 

Detailed Description

Smart holder for the empty task class with automatic destruction.

Definition at line 34 of file scheduler_utility.h.

Constructor & Destructor Documentation

◆ auto_empty_task()

tbb::internal::auto_empty_task::auto_empty_task ( __TBB_CONTEXT_ARG(generic_scheduler *s, task_group_context *context)  )
inline

Definition at line 38 of file scheduler_utility.h.

39  : my_task( new(&s->allocate_task(sizeof(empty_task), __TBB_CONTEXT_ARG(NULL, context))) empty_task )
40  , my_scheduler(s)
41  {}
#define __TBB_CONTEXT_ARG(arg1, context)
generic_scheduler * my_scheduler
void const char const char int ITT_FORMAT __itt_group_sync s

◆ ~auto_empty_task()

tbb::internal::auto_empty_task::~auto_empty_task ( )
inline

Definition at line 43 of file scheduler_utility.h.

generic_scheduler * my_scheduler
Bitwise-OR of local_task and small_task.
void free_task(task &t)
Put task on free list.
Definition: scheduler.h:652

References tbb::internal::generic_scheduler::free_task(), my_scheduler, and tbb::internal::small_local_task.

Here is the call graph for this function:

Member Function Documentation

◆ operator task &()

tbb::internal::auto_empty_task::operator task & ( )
inline

Definition at line 45 of file scheduler_utility.h.

References my_task.

◆ operator&()

task* tbb::internal::auto_empty_task::operator& ( )
inline

Definition at line 46 of file scheduler_utility.h.

References my_task.

◆ prefix()

task_prefix& tbb::internal::auto_empty_task::prefix ( )
inline

Definition at line 47 of file scheduler_utility.h.

47 { return my_task->prefix(); }
internal::task_prefix & prefix(internal::version_tag *=NULL) const
Get reference to corresponding task_prefix.
Definition: task.h:941

References my_task, and tbb::task::prefix().

Referenced by tbb::interface7::internal::task_arena_base::internal_execute(), and tbb::internal::generic_scheduler::local_spawn_root_and_wait().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ my_scheduler

generic_scheduler* tbb::internal::auto_empty_task::my_scheduler
private

Definition at line 36 of file scheduler_utility.h.

Referenced by ~auto_empty_task().

◆ my_task

task* tbb::internal::auto_empty_task::my_task
private

Definition at line 35 of file scheduler_utility.h.

Referenced by operator task &(), operator&(), and prefix().


The documentation for this class was generated from the following file:

Copyright © 2005-2019 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.