17 #ifndef _TBB_scheduler_utility_H    18 #define _TBB_scheduler_utility_H    55 template<
typename T, 
size_t max_segments = 16>
    66         __TBB_ASSERT ( initial_segment && segment_size, 
"Nonempty initial segment must be supplied");
 size_t m_num_segments
Number of segments (the size of m_segments)
 
Used to form groups of tasks.
 
Work stealing task scheduler.
 
Bitwise-OR of local_task and small_task.
 
internal::task_prefix & prefix(internal::version_tag *=NULL) const
Get reference to corresponding task_prefix.
 
void *__TBB_EXPORTED_FUNC NFS_Allocate(size_t n_element, size_t element_size, void *hint)
Allocate memory on cache/sector line boundary.
 
Smart holder for the empty task class with automatic destruction.
 
size_t m_size
Number of items in the segments in m_segments.
 
Base class for user-defined tasks.
 
size_t m_pos
Insertion position in m_cur_segment.
 
generic_scheduler * my_scheduler
 
void free_task(task &t)
Put task on free list.
 
void push_back(const T &val)
 
#define __TBB_CONTEXT_ARG(arg1, context)
 
T * m_cur_segment
The current (not completely filled) segment.
 
size_t m_cur_segment_size
Capacity of m_cur_segment.
 
Vector that grows without reallocations, and stores items in the reverse order.
 
task that does nothing. Useful for synchronization.
 
fast_reverse_vector(T *initial_segment, size_t segment_size)
 
T * m_segments[max_segments]
Array of segments (has fixed size specified by the second template parameter)
 
void __TBB_EXPORTED_FUNC NFS_Free(void *)
Free memory allocated by NFS_Allocate.
 
void const char const char int ITT_FORMAT __itt_group_sync s
 
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
 
void copy_memory(T *dst) const
Copies the contents of the vector into the dst array.
 
auto_empty_task(__TBB_CONTEXT_ARG(generic_scheduler *s, task_group_context *context))
 
Memory prefix to a task object.