Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

Algorithms


Classes

class  tbb::blocked_range< Value >
 A range over which to iterate. More...
class  tbb::blocked_range2d< RowValue, ColValue >
 A 2-dimensional range that models the Range concept. More...
class  tbb::blocked_range3d< PageValue, RowValue, ColValue >
 A 3-dimensional range that models the Range concept. More...
class  tbb::internal::parallel_do_operator_selector< Body, Item >
 For internal use only. More...
class  tbb::internal::do_iteration_task< Body, Item >
 For internal use only. More...
class  tbb::internal::parallel_do_feeder_impl< Body, Item >
 For internal use only. More...
class  tbb::internal::do_group_task_forward< Iterator, Body, Item >
 For internal use only. More...
class  tbb::internal::do_task_iter< Iterator, Body, Item >
 For internal use only. More...
class  tbb::internal::start_for< Range, Body, Partitioner >
 Task type used in parallel_for. More...
class  tbb::internal::finish_reduce< Body >
 Task type use to combine the partial results of parallel_reduce. More...
class  tbb::internal::start_reduce< Range, Body, Partitioner >
 Task type used to split the work of parallel_reduce. More...
class  tbb::internal::finish_reduce_with_affinity< Body >
 Task type use to combine the partial results of parallel_reduce with affinity_partitioner. More...
class  tbb::internal::start_reduce_with_affinity< Range, Body >
 Task type used to split the work of parallel_reduce with affinity_partitioner. More...
struct  tbb::pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
struct  tbb::final_scan_tag
 Used to indicate that the final scan is being performed. More...
class  tbb::internal::final_sum< Range, Body >
 Performs final scan for a leaf. More...
class  tbb::internal::sum_node< Range, Body >
 Split work to be done in the scan. More...
class  tbb::internal::finish_scan< Range, Body >
 Combine partial results. More...
class  tbb::internal::start_scan< Range, Body, Partitioner >
 Initial task to split the work. More...
struct  tbb::internal::quick_sort_range< RandomAccessIterator, Compare >
 Range used in quicksort to split elements into subranges based on a value. More...
struct  tbb::internal::quick_sort_body< RandomAccessIterator, Compare >
 Body class used to sort elements in a range that is smaller than the grainsize. More...
class  tbb::internal::while_iteration_task< Body >
 For internal use only. More...
class  tbb::internal::while_group_task< Body >
 For internal use only. More...
class  tbb::internal::while_task< Stream, Body >
 For internal use only. More...
class  tbb::parallel_while< Body >
 Parallel iteration over a stream, with optional addition of more work. More...
class  tbb::simple_partitioner
 A simple partitioner More...
class  tbb::auto_partitioner
 An auto partitioner. More...
class  tbb::filter
 A stage in a pipeline. More...
class  tbb::pipeline
 A processing pipeling that applies filters to items. More...
class  tbb::split
 Dummy type that distinguishes splitting constructor from copy constructor. More...

parallel_do

See also requirements on parallel_do Body. *

template<typename Iterator, typename Body>
void tbb::parallel_do (Iterator first, Iterator last, const Body &body)
 Parallel iteration over a range, with optional addition of more work.

parallel_for

See also requirements on Range and parallel_for Body. *

template<typename Range, typename Body>
void tbb::parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner=simple_partitioner())
 Parallel iteration over range with simple partitioner, or default partitioner if no partitioner is specified.
template<typename Range, typename Body>
void tbb::parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner.
template<typename Range, typename Body>
void tbb::parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner.

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, const simple_partitioner &partitioner=simple_partitioner())
 Parallel iteration with reduction and simple_partitioner, or default partitioner if no partitioner is specified.
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.
template<typename Range, typename Body>
void tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner.

parallel_scan

See also requirements on Range and parallel_scan Body. *

template<typename Range, typename Body>
void tbb::parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner=simple_partitioner())
 Parallel prefix with simple_partitioner.
template<typename Range, typename Body>
void tbb::parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner.

parallel_sort

See also requirements on iterators for parallel_sort. *

template<typename RandomAccessIterator, typename Compare>
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator.
template<typename RandomAccessIterator>
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator>.
template<typename T>
void tbb::parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T>.

Functions

template<typename Iterator, typename Body, typename Item>
void tbb::internal::run_parallel_do (Iterator first, Iterator last, const Body &body)
 For internal use only.
template<typename Iterator, typename Body, typename Item>
void tbb::internal::select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item) const )
 For internal use only.
template<typename Iterator, typename Body, typename Item, typename _Item>
void tbb::internal::select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item, parallel_do_feeder< _Item > &) const )
 For internal use only.
template<typename RandomAccessIterator, typename Compare>
void tbb::internal::parallel_quick_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Wrapper method to initiate the sort by calling parallel_for.

Detailed Description

containers Containers memory_allocation Memory Allocation synchronization Synchronization timing Timing task_scheduling Task Scheduling

Function Documentation

template<typename RandomAccessIterator, typename Compare>
void parallel_sort RandomAccessIterator  begin,
RandomAccessIterator  end,
const Compare &  comp
 

Sorts the data in [begin,end) using the given comparator.

The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function.

template<typename Iterator, typename Body, typename Item>
void run_parallel_do Iterator  first,
Iterator  last,
const Body &  body
 

For internal use only.

Implements parallel iteration over a range.

template<typename Iterator, typename Body, typename Item, typename _Item>
void select_parallel_do Iterator  first,
Iterator  last,
const Body &  body,
void(Body::*)(Item, parallel_do_feeder< _Item > &)  const
 

For internal use only.

Detects types of Body's operator function arguments.

template<typename Iterator, typename Body, typename Item>
void select_parallel_do Iterator  first,
Iterator  last,
const Body &  body,
void(Body::*)(Item)  const
 

For internal use only.

Detects types of Body's operator function arguments.


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