27 #ifndef EMBB_ALGORITHMS_QUICK_SORT_H_ 28 #define EMBB_ALGORITHMS_QUICK_SORT_H_ 31 #include <embb/mtapi/job.h> 32 #include <embb/mtapi/execution_policy.h> 35 namespace algorithms {
69 template <
typename RAI,
typename ComparisonFunction>
76 ComparisonFunction comparison
77 = std::less<
typename std::iterator_traits<RAI>::value_type>(),
100 template <
typename RAI>
112 template <
typename RAI,
typename ComparisonFunction>
116 ComparisonFunction comparison,
124 template <
typename RAI>
130 std::less<
typename std::iterator_traits<RAI>::value_type>(),
137 template <
typename RAI,
typename ComparisonFunction>
141 ComparisonFunction comparison
149 template <
typename RAI,
typename ComparisonFunction>
153 ComparisonFunction comparison,
156 QuickSort(first, last, comparison, policy, 0);
159 #endif // else DOXYGEN 167 #include<embb/algorithms/internal/quick_sort-inl.h> 169 #endif // EMBB_ALGORITHMS_QUICK_SORT_H_ Definition: lock_free_mpmc_queue.h:40
void QuickSort(RAI first, RAI last, ComparisonFunction comparison=std::less< typename std::iterator_traits< RAI >::value_type >(), const embb::mtapi::ExecutionPolicy &policy=embb::mtapi::ExecutionPolicy(), size_t block_size=0)
Sorts a range of elements using a parallel quick sort algorithm.
Represents a collection of Actions.
Definition: job.h:41
Describes the execution policy of a parallel algorithm.
Definition: execution_policy.h:48