summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/parallel/merge.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/parallel/merge.h')
-rw-r--r--libstdc++-v3/include/parallel/merge.h17
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;
}