diff options
Diffstat (limited to 'libstdc++-v3/include/parallel/merge.h')
-rw-r--r-- | libstdc++-v3/include/parallel/merge.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libstdc++-v3/include/parallel/merge.h b/libstdc++-v3/include/parallel/merge.h index f12f3110871..6e0f2e382c3 100644 --- a/libstdc++-v3/include/parallel/merge.h +++ b/libstdc++-v3/include/parallel/merge.h @@ -239,19 +239,26 @@ namespace __gnu_parallel std::iterator_traits<RandomAccessIterator1>:: difference_type max_length, Comparator comp) { - typedef typename std::iterator_traits<RandomAccessIterator1>::value_type - value_type; + typedef typename + std::iterator_traits<RandomAccessIterator1>::value_type value_type; typedef typename std::iterator_traits<RandomAccessIterator1>:: difference_type difference_type1 /* == difference_type2 */; typedef typename std::iterator_traits<RandomAccessIterator3>:: difference_type difference_type3; + typedef typename std::pair<RandomAccessIterator1, RandomAccessIterator1> + iterator_pair; std::pair<RandomAccessIterator1, RandomAccessIterator1> seqs[2] = { std::make_pair(begin1, end1), std::make_pair(begin2, end2) }; - RandomAccessIterator3 - target_end = parallel_multiway_merge(seqs, seqs + 2, target, - comp, max_length, true, false); + RandomAccessIterator3 + target_end = parallel_multiway_merge + < /* stable = */ true, /* sentinels = */ false>( + seqs, seqs + 2, target, comp, + multiway_merge_exact_splitting + < /* stable = */ true, iterator_pair*, + Comparator, difference_type1>, + max_length); return target_end; } |