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) |
![]() | |
void | operator= (const no_assign &)=delete |
no_assign (const no_assign &)=default | |
no_assign ()=default | |
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 46 of file parallel_sort.h.
|
inline |
Definition at line 106 of file parallel_sort.h.
|
inline |
Definition at line 112 of file parallel_sort.h.
|
inline |
Definition at line 109 of file parallel_sort.h.
References tbb::interface9::internal::quick_sort_range< RandomAccessIterator, Compare >::size.
|
inline |
Definition at line 110 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 48 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 53 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 62 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 104 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 102 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 101 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 103 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().