task.h File Reference
`#include "internal/_deprecated_header_message_guard.h"`
`#include "internal/_warning_suppress_enable_notice.h"`
`#include "tbb_stddef.h"`
`#include "tbb_machine.h"`
`#include "tbb_profiling.h"`
`#include <climits>`
`#include "internal/_warning_suppress_disable_notice.h"`
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_show_deprecation_message_task_H
#define | __TBB_task_H
#define | __TBB_task_H_include_area
#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)
void * | operator new (size_t bytes, const tbb::internal::allocate_root_proxy &)
void | operator delete (void *task, const tbb::internal::allocate_root_proxy &)
void * | operator 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)
void * | operator new (size_t bytes, const tbb::internal::allocate_continuation_proxy &p)
void | operator delete (void *task, const tbb::internal::allocate_continuation_proxy &p)
void * | operator new (size_t bytes, const tbb::internal::allocate_child_proxy &p)
void | operator delete (void *task, const tbb::internal::allocate_child_proxy &p)
void * | operator 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_show_deprecation_message_task_H

#define __TBB_show_deprecation_message_task_H

Definition at line 20 of file task.h.

## __TBB_TASK_BASE_ACCESS

#define __TBB_TASK_BASE_ACCESS private

Definition at line 52 of file task.h.

## __TBB_task_H

#define __TBB_task_H

Definition at line 29 of file task.h.

## __TBB_task_H_include_area

#define __TBB_task_H_include_area

Definition at line 31 of file task.h.

## Typedef Documentation

## __itt_caller

typedef struct ___itt_caller* __itt_caller

Definition at line 39 of file task.h.

## Function Documentation

## operator delete() [1/5]

void operator delete | ( | void * | task,
|  | const tbb::internal::allocate_additional_child_of_proxy & | p
| ) |  |

inline

Definition at line 1182 of file task.h.

{
p.free( *static_cast<tbb::task*>(task) );
}
task
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
Definition: ittnotify_static.h:119
p
void const char const char int ITT_FORMAT __itt_group_sync p
Definition: ittnotify_static.h:91
tbb::task
Base class for user-defined tasks.
Definition: task.h:615

References p, and task.

## operator delete() [2/5]

void operator delete | ( | void * | task,
|  | const tbb::internal::allocate_child_proxy & | p
| ) |  |

inline

Definition at line 1174 of file task.h.

{
p.free( *static_cast<tbb::task*>(task) );
}

References p, and task.

## operator delete() [3/5]

void operator delete | ( | void * | task,
|  | const tbb::internal::allocate_continuation_proxy & | p
| ) |  |

inline

Definition at line 1166 of file task.h.

{
p.free( *static_cast<tbb::task*>(task) );
}

References p, and task.

## operator delete() [4/5]

void operator delete | ( | void * | task,
|  | const tbb::internal::allocate_root_proxy & |
| ) |  |

inline

Definition at line 1148 of file task.h.

{
tbb::internal::allocate_root_proxy::free( *static_cast<tbb::task*>(task) );
}
tbb::internal::allocate_root_proxy::free
static void __TBB_EXPORTED_FUNC free(task &)
Definition: task.cpp:47

References tbb::internal::allocate_root_proxy::free(), and task.

Here is the call graph for this function:

## operator delete() [5/5]

void operator delete | ( | void * | task,
|  | const tbb::internal::allocate_root_with_context_proxy & | p
| ) |  |

inline

Definition at line 1157 of file task.h.

{
p.free( *static_cast<tbb::task*>(task) );
}

References p, and task.

## operator new() [1/5]

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

inline

Definition at line 1178 of file task.h.

{
return &p.allocate(bytes);
}

References p.

## operator new() [2/5]

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

inline

Definition at line 1170 of file task.h.

{
return &p.allocate(bytes);
}

References p.

## operator new() [3/5]

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

inline

Definition at line 1162 of file task.h.

{
return &p.allocate(bytes);
}

References p.

## operator new() [4/5]

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

inline

Definition at line 1144 of file task.h.

{
return &tbb::internal::allocate_root_proxy::allocate(bytes);
}
tbb::internal::allocate_root_proxy::allocate
static task &__TBB_EXPORTED_FUNC allocate(size_t size)
Definition: task.cpp:35

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

Here is the call graph for this function:

## operator new() [5/5]

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

inline

Definition at line 1153 of file task.h.

{
return &p.allocate(bytes);
}

References p.

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.