Функция parallel_sort
Упорядочивает элементы в указанном диапазоне в nondescending порядок, в соответствии с двоичным предиката, упорядочения критерию, указанному в параллельном режиме.Эта функция семантически схожа с std::sort в том, что она сравнить-основана, неустойчиво, сортировку на месте.
template<
typename _Random_iterator
>
inline void parallel_sort(
const _Random_iterator &_Begin,
const _Random_iterator &_End
);
template<
typename _Random_iterator,
typename _Function
>
inline void parallel_sort(
const _Random_iterator &_Begin,
const _Random_iterator &_End,
const _Function &_Func,
const size_t _Chunk_size = 2048
);
Параметры
_Random_iterator
Тип итератора диапазона ввода._Function
Тип бинарный functor сравнения._Begin
Итератор с произвольным доступом адресацию положение первого элемента в диапазоне быть сортированным._End
Итератор с произвольным доступом final адресации позиция одно за элементом в диапазоне быть сортированным._Func
Определяемый пользователем объект функции предиката, который задает критерий сравнения, которые удовлетворяют последовательные элементы в этом упорядочении.Binary предикат принимает 2 аргумента и возвращает true, когда выполняется и false, если не выполняется.Эта функция должна создать простой компаратора строгий порядок в паре элементов последовательности._Chunk_size
Размер блока mimimum, который будет разделенн в 2 для параллельного выполнения.
Заметки
Первая перегрузка использует блок сравнения std::less бинарный.
Перегруженный оператор второй блок сравнения использует предоставленный бинарный, который должен иметь подпись bool _Func(T, T), где T тип элементов в диапазоне ввода.
Алгоритм разделяет диапазон ввода в 2 и блока можно последовательно делит каждый блок в 2 sub-блока для выполнения в параллельном режиме.Необязательный аргумент _Chunk_size можно использовать для отображения алгоритму, что она обрабатывает < _Chunk_size блоки размером последовательно.
Требования
Заголовок: ppl.h
Параллелизм пространство имен: