parallel_reduce.h File Reference
`#include "internal/_warning_suppress_enable_notice.h"`
`#include <new>`
`#include "task.h"`
`#include "aligned_space.h"`
`#include "partitioner.h"`
`#include "tbb_profiling.h"`
`#include "internal/_warning_suppress_disable_notice.h"`
Include dependency graph for parallel_reduce.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

class | tbb::interface9::internal::finish_reduce< Body >
| Task type used to combine the partial results of parallel_reduce. More...
class | tbb::interface9::internal::start_reduce< Range, Body, Partitioner >
| Task type used to split the work of parallel_reduce. More...
class | tbb::interface9::internal::finish_deterministic_reduce< Body >
| Task type used to combine the partial results of parallel_deterministic_reduce. More...
class | tbb::interface9::internal::start_deterministic_reduce< Range, Body, Partitioner >
| Task type used to split the work of parallel_deterministic_reduce. More...
class | tbb::internal::lambda_reduce_body< Range, Value, RealBody, Reduction >
| Auxiliary class for parallel_reduce; for internal use only. More...

## Namespaces

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

## Macros

#define | __TBB_parallel_reduce_H_include_area

## Typedefs

typedef char | tbb::interface9::internal::reduction_context

## Enumerations

enum | { tbb::interface9::internal::root_task, tbb::interface9::internal::left_child, tbb::interface9::internal::right_child }

## Functions

void | tbb::interface9::internal::allocate_sibling (task *start_reduce_task, task *tasks[], size_t start_bytes, size_t finish_bytes)
| allocate right task with new parent More...
parallel_reduce
See also requirements on Range and parallel_reduce Body.
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body)
| Parallel iteration with reduction and default partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
| Parallel iteration with reduction and simple_partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
| Parallel iteration with reduction and auto_partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
| Parallel iteration with reduction and static_partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
| Parallel iteration with reduction and affinity_partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, task_group_context &context)
| Parallel iteration with reduction, default partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, simple partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, static_partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
| Parallel iteration with reduction and default partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
| Parallel iteration with reduction and simple_partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
| Parallel iteration with reduction and auto_partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
| Parallel iteration with reduction and static_partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
| Parallel iteration with reduction and affinity_partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
| Parallel iteration with reduction, default partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, simple partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, static_partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
| Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body)
| Parallel iteration with deterministic reduction and default simple partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
| Parallel iteration with deterministic reduction and simple partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
| Parallel iteration with deterministic reduction and static partitioner. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body, task_group_context &context)
| Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
| Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
template<typename Range , typename Body >
void | tbb::parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
| Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
| Parallel iteration with deterministic reduction and default simple partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
| Parallel iteration with deterministic reduction and simple partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
| Parallel iteration with deterministic reduction and static partitioner. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
| Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
| Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value | tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
| Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...

## Macro Definition Documentation

## __TBB_parallel_reduce_H_include_area

#define __TBB_parallel_reduce_H_include_area

Definition at line 20 of file parallel_reduce.h.

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.