Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::interface7::internal::task_arena_base Class Reference

#include <task_arena.h>

Inheritance diagram for tbb::interface7::internal::task_arena_base:
Collaboration diagram for tbb::interface7::internal::task_arena_base:

Static Public Attributes

static const int automatic = -1
 Typedef for number of threads that is automatic. More...
 
static const int not_initialized = -2
 

Protected Types

enum  { default_flags, exact_exception_flag = task_group_context::exact_exception }
 

Protected Member Functions

 task_arena_base (int max_concurrency, unsigned reserved_for_masters)
 
void __TBB_EXPORTED_METHOD internal_initialize ()
 
void __TBB_EXPORTED_METHOD internal_terminate ()
 
void __TBB_EXPORTED_METHOD internal_attach ()
 
void __TBB_EXPORTED_METHOD internal_enqueue (task &, intptr_t) const
 
void __TBB_EXPORTED_METHOD internal_execute (delegate_base &) const
 
void __TBB_EXPORTED_METHOD internal_wait () const
 

Static Protected Member Functions

static int __TBB_EXPORTED_FUNC internal_current_slot ()
 
static int __TBB_EXPORTED_FUNC internal_max_concurrency (const task_arena *)
 

Protected Attributes

internal::arenamy_arena
 NULL if not currently initialized. More...
 
task_group_contextmy_context
 default context of the arena More...
 
int my_max_concurrency
 Concurrency level for deferred initialization. More...
 
unsigned my_master_slots
 Reserved master slots. More...
 
intptr_t my_version_and_traits
 Special settings. More...
 
bool my_initialized
 

Detailed Description

Definition at line 105 of file task_arena.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
default_flags 
exact_exception_flag 

Definition at line 152 of file task_arena.h.

152  {
153  default_flags = 0
154 #if __TBB_TASK_GROUP_CONTEXT
156  , exact_exception_flag = task_group_context::exact_exception // used to specify flag for context directly
157 #endif
158 #if __TBB_NUMA_SUPPORT
159  , numa_support_flag = 1
160 #endif
161  };

Constructor & Destructor Documentation

◆ task_arena_base()

tbb::interface7::internal::task_arena_base::task_arena_base ( int  max_concurrency,
unsigned  reserved_for_masters 
)
inlineprotected

Definition at line 163 of file task_arena.h.

164  : my_arena(0)
165 #if __TBB_TASK_GROUP_CONTEXT
166  , my_context(0)
167 #endif
169  , my_master_slots(reserved_for_masters)
170 #if __TBB_NUMA_SUPPORT
171  , my_version_and_traits(default_flags | numa_support_flag)
172 #else
174 #endif
175  , my_initialized(false)
176 #if __TBB_NUMA_SUPPORT
177  , my_numa_id(automatic)
178 #endif
179  {}
unsigned my_master_slots
Reserved master slots.
Definition: task_arena.h:131
intptr_t my_version_and_traits
Special settings.
Definition: task_arena.h:134
int my_max_concurrency
Concurrency level for deferred initialization.
Definition: task_arena.h:128
int max_concurrency()
Returns the maximal number of threads that can work inside the arena.
Definition: task_arena.h:490
internal::arena * my_arena
NULL if not currently initialized.
Definition: task_arena.h:120
task_group_context * my_context
default context of the arena
Definition: task_arena.h:124
static const int automatic
Typedef for number of threads that is automatic.
Definition: task_arena.h:205

Member Function Documentation

◆ internal_attach()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_attach ( )
protected

◆ internal_current_slot()

static int __TBB_EXPORTED_FUNC tbb::interface7::internal::task_arena_base::internal_current_slot ( )
staticprotected

◆ internal_enqueue()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_enqueue ( task ,
intptr_t   
) const
protected

◆ internal_execute()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_execute ( delegate_base ) const
protected

◆ internal_initialize()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_initialize ( )
protected

◆ internal_max_concurrency()

static int __TBB_EXPORTED_FUNC tbb::interface7::internal::task_arena_base::internal_max_concurrency ( const task_arena )
staticprotected

Referenced by tbb::this_task_arena::max_concurrency().

Here is the caller graph for this function:

◆ internal_terminate()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_terminate ( )
protected

◆ internal_wait()

void __TBB_EXPORTED_METHOD tbb::interface7::internal::task_arena_base::internal_wait ( ) const
protected

Member Data Documentation

◆ automatic

const int tbb::interface7::internal::task_arena_base::automatic = -1
static

Typedef for number of threads that is automatic.

Definition at line 205 of file task_arena.h.

◆ my_arena

internal::arena* tbb::interface7::internal::task_arena_base::my_arena
protected

NULL if not currently initialized.

Definition at line 120 of file task_arena.h.

◆ my_context

task_group_context* tbb::interface7::internal::task_arena_base::my_context
protected

default context of the arena

Definition at line 124 of file task_arena.h.

◆ my_initialized

bool tbb::interface7::internal::task_arena_base::my_initialized
protected

Definition at line 136 of file task_arena.h.

◆ my_master_slots

unsigned tbb::interface7::internal::task_arena_base::my_master_slots
protected

Reserved master slots.

Definition at line 131 of file task_arena.h.

◆ my_max_concurrency

int tbb::interface7::internal::task_arena_base::my_max_concurrency
protected

Concurrency level for deferred initialization.

Definition at line 128 of file task_arena.h.

◆ my_version_and_traits

intptr_t tbb::interface7::internal::task_arena_base::my_version_and_traits
protected

Special settings.

Definition at line 134 of file task_arena.h.

◆ not_initialized

const int tbb::interface7::internal::task_arena_base::not_initialized = -2
static

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

Copyright © 2005-2020 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.