Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Range used in quicksort to split elements into subranges based on a value. More...
#include <parallel_sort.h>
Public Member Functions | |
quick_sort_range (RandomAccessIterator begin_, size_t size_, const Compare &comp_) | |
bool | empty () const |
bool | is_divisible () const |
quick_sort_range (quick_sort_range &range, split) | |
Public Attributes | |
const Compare & | comp |
size_t | size |
RandomAccessIterator | begin |
Static Public Attributes | |
static const size_t | grainsize = 500 |
Private Member Functions | |
size_t | median_of_three (const RandomAccessIterator &array, size_t l, size_t m, size_t r) const |
size_t | pseudo_median_of_nine (const RandomAccessIterator &array, const quick_sort_range &range) const |
size_t | split_range (quick_sort_range &range) |
Range used in quicksort to split elements into subranges based on a value.
The split operation selects a splitter and places all elements less than or equal to the value in the first range and the remaining elements in the second range.
Definition at line 47 of file parallel_sort.h.
|
inline |
Definition at line 107 of file parallel_sort.h.
|
inline |
Definition at line 113 of file parallel_sort.h.
|
inline |
Definition at line 110 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size.
|
inline |
Definition at line 111 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::grainsize, and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size.
|
inlineprivate |
Definition at line 49 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::comp.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::pseudo_median_of_nine().
|
inlineprivate |
Definition at line 54 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::median_of_three(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::split_range().
|
inlineprivate |
Definition at line 63 of file parallel_sort.h.
References __TBB_ASSERT, tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::begin, tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::comp, tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::pseudo_median_of_nine(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size.
RandomAccessIterator tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::begin |
Definition at line 105 of file parallel_sort.h.
Referenced by tbb::interface9::internal::quick_sort_body< RandomAccessIterator, Compare >::operator()(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::split_range().
const Compare& tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::comp |
Definition at line 103 of file parallel_sort.h.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::median_of_three(), tbb::interface9::internal::quick_sort_body< RandomAccessIterator, Compare >::operator()(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::split_range().
|
static |
Definition at line 102 of file parallel_sort.h.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::is_divisible().
size_t tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size |
Definition at line 104 of file parallel_sort.h.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::empty(), tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::is_divisible(), tbb::interface9::internal::quick_sort_body< RandomAccessIterator, Compare >::operator()(), tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::pseudo_median_of_nine(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::split_range().