29 #ifndef _GLIBCXX_PARALLEL_ALGORITHMFWD_H
30 #define _GLIBCXX_PARALLEL_ALGORITHMFWD_H 1
32 #pragma GCC system_header
41 template<
typename _FIter>
43 adjacent_find(_FIter, _FIter);
45 template<
typename _FIter>
49 template<
typename _FIter,
typename _IterTag>
51 adjacent_find_switch(_FIter, _FIter, _IterTag);
53 template<
typename _RAIter>
55 adjacent_find_switch(_RAIter, _RAIter, random_access_iterator_tag);
58 template<
typename _FIter,
typename _BiPredicate>
60 adjacent_find(_FIter, _FIter, _BiPredicate);
62 template<
typename _FIter,
typename _BiPredicate>
64 adjacent_find(_FIter, _FIter, _BiPredicate,
67 template<
typename _FIter,
typename _BiPredicate,
typename _IterTag>
69 adjacent_find_switch(_FIter, _FIter, _BiPredicate, _IterTag);
71 template<
typename _RAIter,
typename _BiPredicate>
73 adjacent_find_switch(_RAIter, _RAIter, _BiPredicate,
74 random_access_iterator_tag);
77 template<
typename _IIter,
typename _Tp>
78 typename iterator_traits<_IIter>::difference_type
79 count(_IIter, _IIter,
const _Tp&);
81 template<
typename _IIter,
typename _Tp>
82 typename iterator_traits<_IIter>::difference_type
85 template<
typename _IIter,
typename _Tp>
86 typename iterator_traits<_IIter>::difference_type
89 template<
typename _IIter,
typename _Tp,
typename _IterTag>
90 typename iterator_traits<_IIter>::difference_type
91 count_switch(_IIter, _IIter,
const _Tp&, _IterTag);
93 template<
typename _RAIter,
typename _Tp>
94 typename iterator_traits<_RAIter>::difference_type
95 count_switch(_RAIter, _RAIter,
const _Tp&, random_access_iterator_tag,
100 template<
typename _IIter,
typename _Predicate>
101 typename iterator_traits<_IIter>::difference_type
102 count_if(_IIter, _IIter, _Predicate);
104 template<
typename _IIter,
typename _Predicate>
105 typename iterator_traits<_IIter>::difference_type
108 template<
typename _IIter,
typename _Predicate>
109 typename iterator_traits<_IIter>::difference_type
112 template<
typename _IIter,
typename _Predicate,
typename _IterTag>
113 typename iterator_traits<_IIter>::difference_type
114 count_if_switch(_IIter, _IIter, _Predicate, _IterTag);
116 template<
typename _RAIter,
typename _Predicate>
117 typename iterator_traits<_RAIter>::difference_type
118 count_if_switch(_RAIter, _RAIter, _Predicate, random_access_iterator_tag,
123 template<
typename _IIter1,
typename _IIter2>
127 template<
typename _IIter1,
typename _IIter2,
typename Predicate>
129 equal(_IIter1, _IIter1, _IIter2, Predicate,
132 template<
typename _IIter1,
typename _IIter2>
134 equal(_IIter1, _IIter1, _IIter2);
136 template<
typename _IIter1,
typename _IIter2,
typename Predicate>
138 equal(_IIter1, _IIter1, _IIter2, Predicate);
140 template<
typename _IIter,
typename _Tp>
144 template<
typename _IIter,
typename _Tp>
146 find(_IIter, _IIter,
const _Tp& val);
148 template<
typename _IIter,
typename _Tp,
typename _IterTag>
150 find_switch(_IIter, _IIter,
const _Tp&, _IterTag);
152 template<
typename _RAIter,
typename _Tp>
154 find_switch(_RAIter, _RAIter,
const _Tp&, random_access_iterator_tag);
156 template<
typename _IIter,
typename _Predicate>
160 template<
typename _IIter,
typename _Predicate>
162 find_if(_IIter, _IIter, _Predicate);
164 template<
typename _IIter,
typename _Predicate,
typename _IterTag>
166 find_if_switch(_IIter, _IIter, _Predicate, _IterTag);
168 template<
typename _RAIter,
typename _Predicate>
170 find_if_switch(_RAIter, _RAIter, _Predicate, random_access_iterator_tag);
172 template<
typename _IIter,
typename _FIter>
174 find_first_of(_IIter, _IIter, _FIter, _FIter,
177 template<
typename _IIter,
typename _FIter,
typename _BiPredicate>
179 find_first_of(_IIter, _IIter, _FIter, _FIter, _BiPredicate,
182 template<
typename _IIter,
typename _FIter,
typename _BiPredicate>
184 find_first_of(_IIter, _IIter, _FIter, _FIter, _BiPredicate);
186 template<
typename _IIter,
typename _FIter>
188 find_first_of(_IIter, _IIter, _FIter, _FIter);
190 template<
typename _IIter,
typename _FIter,
191 typename _IterTag1,
typename _IterTag2>
193 find_first_of_switch(_IIter, _IIter, _FIter, _FIter, _IterTag1, _IterTag2);
195 template<
typename _RAIter,
typename _FIter,
typename _BiPredicate,
198 find_first_of_switch(_RAIter, _RAIter, _FIter, _FIter, _BiPredicate,
199 random_access_iterator_tag, _IterTag);
201 template<
typename _IIter,
typename _FIter,
typename _BiPredicate,
202 typename _IterTag1,
typename _IterTag2>
204 find_first_of_switch(_IIter, _IIter, _FIter, _FIter, _BiPredicate,
205 _IterTag1, _IterTag2);
208 template<
typename _IIter,
typename _Function>
210 for_each(_IIter, _IIter, _Function);
212 template<
typename _IIter,
typename _Function>
216 template<
typename _Iterator,
typename _Function>
220 template<
typename _IIter,
typename _Function,
typename _IterTag>
222 for_each_switch(_IIter, _IIter, _Function, _IterTag);
224 template<
typename _RAIter,
typename _Function>
226 for_each_switch(_RAIter, _RAIter, _Function, random_access_iterator_tag,
231 template<
typename _FIter,
typename _Generator>
233 generate(_FIter, _FIter, _Generator);
235 template<
typename _FIter,
typename _Generator>
239 template<
typename _FIter,
typename _Generator>
243 template<
typename _FIter,
typename _Generator,
typename _IterTag>
245 generate_switch(_FIter, _FIter, _Generator, _IterTag);
247 template<
typename _RAIter,
typename _Generator>
249 generate_switch(_RAIter, _RAIter, _Generator, random_access_iterator_tag,
253 template<
typename _OIter,
typename _Size,
typename _Generator>
255 generate_n(_OIter, _Size, _Generator);
257 template<
typename _OIter,
typename _Size,
typename _Generator>
261 template<
typename _OIter,
typename _Size,
typename _Generator>
265 template<
typename _OIter,
typename _Size,
typename _Generator,
268 generate_n_switch(_OIter, _Size, _Generator, _IterTag);
270 template<
typename _RAIter,
typename _Size,
typename _Generator>
272 generate_n_switch(_RAIter, _Size, _Generator, random_access_iterator_tag,
276 template<
typename _IIter1,
typename _IIter2>
278 lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2,
281 template<
typename _IIter1,
typename _IIter2,
typename _Predicate>
283 lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Predicate,
286 template<
typename _IIter1,
typename _IIter2>
288 lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
290 template<
typename _IIter1,
typename _IIter2,
typename _Predicate>
292 lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Predicate);
294 template<
typename _IIter1,
typename _IIter2,
295 typename _Predicate,
typename _IterTag1,
typename _IterTag2>
297 lexicographical_compare_switch(_IIter1, _IIter1, _IIter2, _IIter2,
298 _Predicate, _IterTag1, _IterTag2);
300 template<
typename _RAIter1,
typename _RAIter2,
typename _Predicate>
302 lexicographical_compare_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2,
303 _Predicate, random_access_iterator_tag,
304 random_access_iterator_tag);
307 template<
typename _IIter1,
typename _IIter2>
308 pair<_IIter1, _IIter2>
311 template<
typename _IIter1,
typename _IIter2,
typename _Predicate>
312 pair<_IIter1, _IIter2>
313 mismatch(_IIter1, _IIter1, _IIter2, _Predicate,
316 template<
typename _IIter1,
typename _IIter2>
317 pair<_IIter1, _IIter2>
318 mismatch(_IIter1, _IIter1, _IIter2);
320 template<
typename _IIter1,
typename _IIter2,
typename _Predicate>
321 pair<_IIter1, _IIter2>
322 mismatch(_IIter1, _IIter1, _IIter2, _Predicate);
324 template<
typename _IIter1,
typename _IIter2,
typename _Predicate,
325 typename _IterTag1,
typename _IterTag2>
326 pair<_IIter1, _IIter2>
327 mismatch_switch(_IIter1, _IIter1, _IIter2, _Predicate,
328 _IterTag1, _IterTag2);
330 template<
typename _RAIter1,
typename _RAIter2,
typename _Predicate>
331 pair<_RAIter1, _RAIter2>
332 mismatch_switch(_RAIter1, _RAIter1, _RAIter2, _Predicate,
333 random_access_iterator_tag, random_access_iterator_tag);
335 template<
typename _FIter1,
typename _FIter2>
339 template<
typename _FIter1,
typename _FIter2>
341 search(_FIter1, _FIter1, _FIter2, _FIter2);
343 template<
typename _FIter1,
typename _FIter2,
typename _BiPredicate>
345 search(_FIter1, _FIter1, _FIter2, _FIter2, _BiPredicate,
348 template<
typename _FIter1,
typename _FIter2,
typename _BiPredicate>
350 search(_FIter1, _FIter1, _FIter2, _FIter2, _BiPredicate);
352 template<
typename _RAIter1,
typename _RAIter2>
354 search_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2,
355 random_access_iterator_tag, random_access_iterator_tag);
357 template<
typename _FIter1,
typename _FIter2,
typename _IterTag1,
360 search_switch(_FIter1, _FIter1, _FIter2, _FIter2, _IterTag1, _IterTag2);
362 template<
typename _RAIter1,
typename _RAIter2,
typename _BiPredicate>
364 search_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2, _BiPredicate,
365 random_access_iterator_tag, random_access_iterator_tag);
367 template<
typename _FIter1,
typename _FIter2,
typename _BiPredicate,
368 typename _IterTag1,
typename _IterTag2>
370 search_switch(_FIter1, _FIter1, _FIter2, _FIter2, _BiPredicate,
371 _IterTag1, _IterTag2);
373 template<
typename _FIter,
typename _Integer,
typename _Tp>
375 search_n(_FIter, _FIter, _Integer,
const _Tp&,
378 template<
typename _FIter,
typename _Integer,
typename _Tp,
379 typename _BiPredicate>
381 search_n(_FIter, _FIter, _Integer,
const _Tp&, _BiPredicate,
384 template<
typename _FIter,
typename _Integer,
typename _Tp>
386 search_n(_FIter, _FIter, _Integer,
const _Tp&);
388 template<
typename _FIter,
typename _Integer,
typename _Tp,
389 typename _BiPredicate>
391 search_n(_FIter, _FIter, _Integer,
const _Tp&, _BiPredicate);
393 template<
typename _RAIter,
typename _Integer,
typename _Tp,
394 typename _BiPredicate>
396 search_n_switch(_RAIter, _RAIter, _Integer,
const _Tp&,
397 _BiPredicate, random_access_iterator_tag);
399 template<
typename _FIter,
typename _Integer,
typename _Tp,
400 typename _BiPredicate,
typename _IterTag>
402 search_n_switch(_FIter, _FIter, _Integer,
const _Tp&,
403 _BiPredicate, _IterTag);
406 template<
typename _IIter,
typename _OIter,
typename UnaryOperation>
408 transform(_IIter, _IIter, _OIter, UnaryOperation);
410 template<
typename _IIter,
typename _OIter,
typename UnaryOperation>
412 transform(_IIter, _IIter, _OIter, UnaryOperation,
415 template<
typename _IIter,
typename _OIter,
typename UnaryOperation>
417 transform(_IIter, _IIter, _OIter, UnaryOperation,
420 template<
typename _IIter,
typename _OIter,
typename UnaryOperation,
421 typename _IterTag1,
typename _IterTag2>
423 transform1_switch(_IIter, _IIter, _OIter, UnaryOperation,
424 _IterTag1, _IterTag2);
427 template<
typename _RAIIter,
typename _RAOIter,
typename UnaryOperation>
429 transform1_switch(_RAIIter, _RAIIter, _RAOIter, UnaryOperation,
430 random_access_iterator_tag, random_access_iterator_tag,
435 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
436 typename _BiOperation>
438 transform(_IIter1, _IIter1, _IIter2, _OIter, _BiOperation);
440 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
441 typename _BiOperation>
443 transform(_IIter1, _IIter1, _IIter2, _OIter, _BiOperation,
446 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
447 typename _BiOperation>
449 transform(_IIter1, _IIter1, _IIter2, _OIter, _BiOperation,
452 template<
typename _RAIter1,
typename _RAIter2,
typename _RAIter3,
453 typename _BiOperation>
455 transform2_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter3, _BiOperation,
456 random_access_iterator_tag, random_access_iterator_tag,
457 random_access_iterator_tag,
461 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
462 typename _BiOperation,
typename _Tag1,
463 typename _Tag2,
typename _Tag3>
465 transform2_switch(_IIter1, _IIter1, _IIter2, _OIter, _BiOperation,
466 _Tag1, _Tag2, _Tag3);
469 template<
typename _FIter,
typename _Tp>
471 replace(_FIter, _FIter,
const _Tp&,
const _Tp&);
473 template<
typename _FIter,
typename _Tp>
475 replace(_FIter, _FIter,
const _Tp&,
const _Tp&,
478 template<
typename _FIter,
typename _Tp>
480 replace(_FIter, _FIter,
const _Tp&,
const _Tp&,
483 template<
typename _FIter,
typename _Tp,
typename _IterTag>
485 replace_switch(_FIter, _FIter,
const _Tp&,
const _Tp&, _IterTag);
487 template<
typename _RAIter,
typename _Tp>
489 replace_switch(_RAIter, _RAIter,
const _Tp&,
const _Tp&,
493 template<
typename _FIter,
typename _Predicate,
typename _Tp>
495 replace_if(_FIter, _FIter, _Predicate,
const _Tp&);
497 template<
typename _FIter,
typename _Predicate,
typename _Tp>
499 replace_if(_FIter, _FIter, _Predicate,
const _Tp&,
502 template<
typename _FIter,
typename _Predicate,
typename _Tp>
504 replace_if(_FIter, _FIter, _Predicate,
const _Tp&,
507 template<
typename _FIter,
typename _Predicate,
typename _Tp,
510 replace_if_switch(_FIter, _FIter, _Predicate,
const _Tp&, _IterTag);
512 template<
typename _RAIter,
typename _Predicate,
typename _Tp>
514 replace_if_switch(_RAIter, _RAIter, _Predicate,
const _Tp&,
515 random_access_iterator_tag,
519 template<
typename _FIter>
521 max_element(_FIter, _FIter);
523 template<
typename _FIter>
527 template<
typename _FIter>
531 template<
typename _FIter,
typename _Compare>
533 max_element(_FIter, _FIter, _Compare);
535 template<
typename _FIter,
typename _Compare>
539 template<
typename _FIter,
typename _Compare>
543 template<
typename _FIter,
typename _Compare,
typename _IterTag>
545 max_element_switch(_FIter, _FIter, _Compare, _IterTag);
547 template<
typename _RAIter,
typename _Compare>
549 max_element_switch(_RAIter, _RAIter, _Compare, random_access_iterator_tag,
554 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
556 merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
559 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
562 merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare,
565 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
568 merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
570 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
572 merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
574 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
575 typename _Compare,
typename _IterTag1,
typename _IterTag2,
578 merge_switch(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare,
579 _IterTag1, _IterTag2, _IterTag3);
581 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
584 merge_switch(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare,
585 random_access_iterator_tag, random_access_iterator_tag,
586 random_access_iterator_tag);
589 template<
typename _FIter>
591 min_element(_FIter, _FIter);
593 template<
typename _FIter>
597 template<
typename _FIter>
601 template<
typename _FIter,
typename _Compare>
603 min_element(_FIter, _FIter, _Compare);
605 template<
typename _FIter,
typename _Compare>
609 template<
typename _FIter,
typename _Compare>
613 template<
typename _FIter,
typename _Compare,
typename _IterTag>
615 min_element_switch(_FIter, _FIter, _Compare, _IterTag);
617 template<
typename _RAIter,
typename _Compare>
619 min_element_switch(_RAIter, _RAIter, _Compare, random_access_iterator_tag,
623 template<
typename _RAIter>
627 template<
typename _RAIter,
typename _Compare>
629 nth_element(_RAIter, _RAIter, _RAIter, _Compare,
632 template<
typename _RAIter,
typename _Compare>
634 nth_element(_RAIter, _RAIter, _RAIter, _Compare);
636 template<
typename _RAIter>
638 nth_element(_RAIter, _RAIter, _RAIter);
640 template<
typename _RAIter,
typename _Compare>
642 partial_sort(_RAIter, _RAIter, _RAIter, _Compare,
645 template<
typename _RAIter>
649 template<
typename _RAIter,
typename _Compare>
651 partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
653 template<
typename _RAIter>
655 partial_sort(_RAIter, _RAIter, _RAIter);
657 template<
typename _FIter,
typename Predicate>
661 template<
typename _FIter,
typename Predicate>
663 partition(_FIter, _FIter, Predicate);
665 template<
typename _FIter,
typename Predicate,
typename _IterTag>
667 partition_switch(_FIter, _FIter, Predicate, _IterTag);
669 template<
typename _RAIter,
typename Predicate>
671 partition_switch(_RAIter, _RAIter, Predicate, random_access_iterator_tag);
673 template<
typename _RAIter>
677 template<
typename _RAIter,
typename _RandomNumberGenerator>
679 random_shuffle(_RAIter, _RAIter, _RandomNumberGenerator&,
682 template<
typename _RAIter>
684 random_shuffle(_RAIter, _RAIter);
686 template<
typename _RAIter,
typename _RandomNumberGenerator>
688 random_shuffle(_RAIter, _RAIter, _RandomNumberGenerator&);
690 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
692 set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
695 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
698 set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, Predicate,
701 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
703 set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
705 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
708 set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate);
710 template<
typename _IIter1,
typename _IIter2,
typename _Predicate,
711 typename _OIter,
typename _IterTag1,
typename _IterTag2,
714 set_union_switch(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
715 _Predicate, _IterTag1, _IterTag2, _IterTag3);
717 template<
typename _RAIter1,
typename _RAIter2,
typename _Output_RAIter,
720 set_union_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2, _Output_RAIter,
721 _Predicate, random_access_iterator_tag,
722 random_access_iterator_tag, random_access_iterator_tag);
724 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
726 set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
729 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
732 set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate,
735 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
737 set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
739 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
742 set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate);
744 template<
typename _IIter1,
typename _IIter2,
typename _Predicate,
745 typename _OIter,
typename _IterTag1,
typename _IterTag2,
748 set_intersection_switch(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
749 _Predicate, _IterTag1, _IterTag2, _IterTag3);
751 template<
typename _RAIter1,
typename _RAIter2,
typename _Output_RAIter,
754 set_intersection_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2,
755 _Output_RAIter, _Predicate,
756 random_access_iterator_tag,
757 random_access_iterator_tag,
758 random_access_iterator_tag);
760 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
762 set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
765 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
768 set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
771 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
773 set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
775 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
778 set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
781 template<
typename _IIter1,
typename _IIter2,
typename _Predicate,
782 typename _OIter,
typename _IterTag1,
typename _IterTag2,
785 set_symmetric_difference_switch(_IIter1, _IIter1, _IIter2, _IIter2,
786 _OIter, _Predicate, _IterTag1, _IterTag2,
789 template<
typename _RAIter1,
typename _RAIter2,
typename _Output_RAIter,
792 set_symmetric_difference_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2,
793 _Output_RAIter, _Predicate,
794 random_access_iterator_tag,
795 random_access_iterator_tag,
796 random_access_iterator_tag);
799 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
801 set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
804 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
807 set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate,
810 template<
typename _IIter1,
typename _IIter2,
typename _OIter>
812 set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
814 template<
typename _IIter1,
typename _IIter2,
typename _OIter,
817 set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate);
819 template<
typename _IIter1,
typename _IIter2,
typename _Predicate,
820 typename _OIter,
typename _IterTag1,
typename _IterTag2,
823 set_difference_switch(_IIter1, _IIter1, _IIter2, _IIter2, _OIter,
824 _Predicate, _IterTag1, _IterTag2, _IterTag3);
826 template<
typename _RAIter1,
typename _RAIter2,
typename _Output_RAIter,
829 set_difference_switch(_RAIter1, _RAIter1, _RAIter2, _RAIter2,
830 _Output_RAIter, _Predicate,
831 random_access_iterator_tag,
832 random_access_iterator_tag,
833 random_access_iterator_tag);
836 template<
typename _RAIter>
840 template<
typename _RAIter,
typename _Compare>
844 template<
typename _RAIter>
846 sort(_RAIter, _RAIter);
848 template<
typename _RAIter,
typename _Compare>
850 sort(_RAIter, _RAIter, _Compare);
852 template<
typename _RAIter>
856 template<
typename _RAIter,
typename _Compare>
860 template<
typename _RAIter>
862 stable_sort(_RAIter, _RAIter);
864 template<
typename _RAIter,
typename _Compare>
866 stable_sort(_RAIter, _RAIter, _Compare);
868 template<
typename _IIter,
typename _OIter>
872 template<
typename _IIter,
typename _OIter,
typename _Predicate>
874 unique_copy(_IIter, _IIter, _OIter, _Predicate,
877 template<
typename _IIter,
typename _OIter>
879 unique_copy(_IIter, _IIter, _OIter);
881 template<
typename _IIter,
typename _OIter,
typename _Predicate>
883 unique_copy(_IIter, _IIter, _OIter, _Predicate);
885 template<
typename _IIter,
typename _OIter,
typename _Predicate,
886 typename _IterTag1,
typename _IterTag2>
888 unique_copy_switch(_IIter, _IIter, _OIter, _Predicate,
889 _IterTag1, _IterTag2);
891 template<
typename _RAIter,
typename _RandomAccess_OIter,
typename _Predicate>
893 unique_copy_switch(_RAIter, _RAIter, _RandomAccess_OIter, _Predicate,
894 random_access_iterator_tag, random_access_iterator_tag);
Parallel unbalanced (equal-sized chunks).
_Parallelism
Run-time equivalents for the compile-time tags.
Runtime settings and tuning parameters, heuristics to decide whether to use parallelized algorithms...
Forces sequential execution at compile time.
Parallel balanced (work-stealing).
Tags for compile-time selection. This file is a GNU parallel extension to the Standard C++ Library...