Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
task.h File Reference
#include "tbb_stddef.h"
#include "tbb_machine.h"
#include "tbb_profiling.h"
#include <climits>
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tbb::internal::allocate_additional_child_of_proxy
 
struct  tbb::internal::cpu_ctl_env_space
 
class  tbb::interface5::internal::task_base
 Base class for methods that became static in TBB 3.0. More...
 
class  tbb::internal::scheduler
 
struct  tbb::internal::context_list_node_t
 
class  tbb::internal::allocate_root_with_context_proxy
 
class  tbb::internal::allocate_root_proxy
 
class  tbb::internal::allocate_continuation_proxy
 
class  tbb::internal::allocate_child_proxy
 
class  tbb::internal::task_prefix
 Memory prefix to a task object. More...
 
class  tbb::task_group_context
 Used to form groups of tasks. More...
 
class  tbb::task
 Base class for user-defined tasks. More...
 
class  tbb::empty_task
 task that does nothing. Useful for synchronization. More...
 
class  tbb::internal::function_task< F >
 
class  tbb::task_list
 A list of children. More...
 

Namespaces

 tbb
 The graph class.
 
 tbb::internal
 Identifiers declared inside namespace internal should never be used directly by client code.
 
 tbb::interface5
 
 tbb::interface5::internal
 
 tbb::interface7
 

Macros

#define __TBB_TASK_BASE_ACCESS   private
 

Typedefs

typedef struct ___itt_caller * __itt_caller
 
typedef intptr_t tbb::internal::reference_count
 A reference count. More...
 
typedef unsigned short tbb::internal::affinity_id
 An id as used for specifying affinity. More...
 
typedef intptr_t tbb::internal::isolation_tag
 A tag for task isolation. More...
 

Enumerations

enum  tbb::priority_t { tbb::priority_normal = internal::priority_stride_v4 * 2, tbb::priority_low = priority_normal - internal::priority_stride_v4, tbb::priority_high = priority_normal + internal::priority_stride_v4 }
 

Functions

void tbb::internal::make_critical (task &t)
 
bool tbb::internal::is_critical (task &t)
 
voidoperator new (size_t bytes, const tbb::internal::allocate_root_proxy &)
 
void operator delete (void *task, const tbb::internal::allocate_root_proxy &)
 
voidoperator new (size_t bytes, const tbb::internal::allocate_root_with_context_proxy &p)
 
void operator delete (void *task, const tbb::internal::allocate_root_with_context_proxy &p)
 
voidoperator new (size_t bytes, const tbb::internal::allocate_continuation_proxy &p)
 
void operator delete (void *task, const tbb::internal::allocate_continuation_proxy &p)
 
voidoperator new (size_t bytes, const tbb::internal::allocate_child_proxy &p)
 
void operator delete (void *task, const tbb::internal::allocate_child_proxy &p)
 
voidoperator new (size_t bytes, const tbb::internal::allocate_additional_child_of_proxy &p)
 
void operator delete (void *task, const tbb::internal::allocate_additional_child_of_proxy &p)
 

Variables

const isolation_tag tbb::internal::no_isolation = 0
 
static const int tbb::internal::priority_stride_v4 = INT_MAX / 4
 
static const int tbb::internal::priority_critical = priority_stride_v4 * 3 + priority_stride_v4 / 3 * 2
 

Macro Definition Documentation

◆ __TBB_TASK_BASE_ACCESS

#define __TBB_TASK_BASE_ACCESS   private

Definition at line 38 of file task.h.

Typedef Documentation

◆ __itt_caller

typedef struct ___itt_caller* __itt_caller

Definition at line 25 of file task.h.

Function Documentation

◆ operator delete() [1/5]

void operator delete ( void task,
const tbb::internal::allocate_root_proxy  
)
inline

Definition at line 1069 of file task.h.

References tbb::internal::allocate_root_proxy::free().

1069  {
1070  tbb::internal::allocate_root_proxy::free( *static_cast<tbb::task*>(task) );
1071 }
static void __TBB_EXPORTED_FUNC free(task &)
Definition: task.cpp:47
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
Here is the call graph for this function:

◆ operator delete() [2/5]

void operator delete ( void task,
const tbb::internal::allocate_root_with_context_proxy p 
)
inline

Definition at line 1078 of file task.h.

References p.

1078  {
1079  p.free( *static_cast<tbb::task*>(task) );
1080 }
void __TBB_EXPORTED_METHOD free(task &) const
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task

◆ operator delete() [3/5]

void operator delete ( void task,
const tbb::internal::allocate_continuation_proxy p 
)
inline

Definition at line 1087 of file task.h.

References p.

1087  {
1088  p.free( *static_cast<tbb::task*>(task) );
1089 }
void __TBB_EXPORTED_METHOD free(task &) const
Definition: task.cpp:105
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task

◆ operator delete() [4/5]

void operator delete ( void task,
const tbb::internal::allocate_child_proxy p 
)
inline

Definition at line 1095 of file task.h.

References p.

1095  {
1096  p.free( *static_cast<tbb::task*>(task) );
1097 }
void __TBB_EXPORTED_METHOD free(task &) const
Definition: task.cpp:121
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task

◆ operator delete() [5/5]

void operator delete ( void task,
const tbb::internal::allocate_additional_child_of_proxy p 
)
inline

Definition at line 1103 of file task.h.

References p.

1103  {
1104  p.free( *static_cast<tbb::task*>(task) );
1105 }
void __TBB_EXPORTED_METHOD free(task &) const
Definition: task.cpp:134
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task

◆ operator new() [1/5]

void* operator new ( size_t  bytes,
const tbb::internal::allocate_root_proxy  
)
inline

Definition at line 1065 of file task.h.

References tbb::internal::allocate_root_proxy::allocate().

1065  {
1067 }
static task &__TBB_EXPORTED_FUNC allocate(size_t size)
Definition: task.cpp:35
Here is the call graph for this function:

◆ operator new() [2/5]

void* operator new ( size_t  bytes,
const tbb::internal::allocate_root_with_context_proxy p 
)
inline

Definition at line 1074 of file task.h.

References p.

1074  {
1075  return &p.allocate(bytes);
1076 }
task &__TBB_EXPORTED_METHOD allocate(size_t size) const

◆ operator new() [3/5]

void* operator new ( size_t  bytes,
const tbb::internal::allocate_continuation_proxy p 
)
inline

Definition at line 1083 of file task.h.

References p.

1083  {
1084  return &p.allocate(bytes);
1085 }
task &__TBB_EXPORTED_METHOD allocate(size_t size) const
Definition: task.cpp:96

◆ operator new() [4/5]

void* operator new ( size_t  bytes,
const tbb::internal::allocate_child_proxy p 
)
inline

Definition at line 1091 of file task.h.

References p.

1091  {
1092  return &p.allocate(bytes);
1093 }
task &__TBB_EXPORTED_METHOD allocate(size_t size) const
Definition: task.cpp:114

◆ operator new() [5/5]

void* operator new ( size_t  bytes,
const tbb::internal::allocate_additional_child_of_proxy p 
)
inline

Definition at line 1099 of file task.h.

References p.

1099  {
1100  return &p.allocate(bytes);
1101 }
task &__TBB_EXPORTED_METHOD allocate(size_t size) const
Definition: task.cpp:128

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.