Поделиться через


Функция 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

Параллелизм пространство имен:

См. также

Ссылки

Пространство имен concurrency