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 43 of file parallel_sort.h.
|
inline |
Definition at line 103 of file parallel_sort.h.
|
inline |
Definition at line 109 of file parallel_sort.h.
|
inline |
Definition at line 106 of file parallel_sort.h.
|
inline |
Definition at line 107 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::grainsize.
|
inlineprivate |
Definition at line 45 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 50 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 59 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 |
const Compare& tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::comp |
Definition at line 99 of file parallel_sort.h.
Referenced by tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::median_of_three(), tbb::interface9::internal::quick_sort_pretest_body< RandomAccessIterator, Compare >::operator()(), tbb::interface9::internal::quick_sort_body< RandomAccessIterator, Compare >::operator()(), tbb::interface9::internal::parallel_quick_sort(), and tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::split_range().
|
static |
Definition at line 98 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 100 of file parallel_sort.h.
Referenced by 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().