parallel_sort – funkce
Uspořádá prvky v určeném rozsahu do nondescending pořadí nebo podle řazení kritérium, podle binárního predikátu, paralelně.Tato funkce je sémanticky podobné std::sort v tom, že je porovnání založeno, nestabilní, v místě řazení.
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
);
Parametry
_Random_iterator
Typ iterační vstupní oblasti._Function
Typ functor binární porovnání._Begin
Náhodný přístup iterační adresování pozici první prvek v rozsahu řazení._End
Náhodný přístup iterační adresování jednu pozici za poslední prvek v rozsahu řazení._Func
Uživatelem definované funkce predikátu objektu, který definuje kritéria porovnání vyhovět následné prvky v pořadí.Binárního predikátu trvá dva argumenty a vrátí true při splněny a false Pokud není splněna.Tato funkce komparátoru musí ukládat přísné slabé řazení páry z pořadí prvků._Chunk_size
Minimální velikost bloku dat, která rozdělí na dvě paralelní spuštění.
Poznámky
Používá první přetížení binární porovnání std::less.
Druhý přetížení používá zadané binární porovnání, který by měl mít podpis bool _Func(T, T) kde T je typ prvků ve vstupní oblasti.
Algoritmus vstupní oblast rozdělí na dva bloky a každý blok postupně rozdělí na dvě sub-chunks pro spuštění paralelně.Nepovinný argument _Chunk_size lze použít algoritmus označíte, že by zpracovává bloky velikosti < _Chunk_sizesériově.
Požadavky
Záhlaví: ppl.h
Obor názvů: souběžnosti