Provided by: libstdc++-15-doc_15.2.0-10ubuntu1_all bug

NAME

       std::__parallel - GNU parallel code, replaces standard behavior with parallel behavior.

SYNOPSIS

   Classes
       struct _CRandNumber
           Functor wrapper for std::rand().

   Functions
       template<typename __RAIter, typename _Tp, typename _BinaryOperation> _Tp __accumulate_switch (__RAIter
           __begin, __RAIter __end, _Tp __init, _BinaryOperation __binary_op, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _Tp, typename _BinaryOperation, typename _IteratorTag> _Tp
           __accumulate_switch (_IIter __begin, _IIter __end, _Tp __init, _BinaryOperation __binary_op,
           _IteratorTag)
       template<typename _IIter, typename _Tp, typename _IteratorTag> _Tp __accumulate_switch (_IIter __begin,
           _IIter __end, _Tp __init, _IteratorTag)
       template<typename _IIter, typename _Tp, typename _BinaryOper, typename _Tag> _Tp __accumulate_switch
           (_IIter, _IIter, _Tp, _BinaryOper, _Tag)
       template<typename _IIter, typename _Tp, typename _Tag> _Tp __accumulate_switch (_IIter, _IIter, _Tp,
           _Tag)
       template<typename _RAIter, typename _Tp, typename _BinaryOper> _Tp __accumulate_switch (_RAIter, _RAIter,
           _Tp, _BinaryOper, random_access_iterator_tag, __gnu_parallel::_Parallelism
           __parallelism=__gnu_parallel::parallel_unbalanced)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation, typename _IteratorTag1,
           typename _IteratorTag2> _OutputIterator __adjacent_difference_switch (_IIter __begin, _IIter __end,
           _OutputIterator __result, _BinaryOperation __bin_op, _IteratorTag1, _IteratorTag2)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           __adjacent_difference_switch (_IIter __begin, _IIter __end, _OutputIterator __result,
           _BinaryOperation __bin_op, random_access_iterator_tag, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _OIter, typename _BinaryOper, typename _Tag1, typename _Tag2> _OIter
           __adjacent_difference_switch (_IIter, _IIter, _OIter, _BinaryOper, _Tag1, _Tag2)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter __adjacent_difference_switch
           (_IIter, _IIter, _OIter, _BinaryOper, random_access_iterator_tag, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism=__gnu_parallel::parallel_unbalanced)
       template<typename _FIter, typename _BiPredicate, typename _IterTag> _FIter __adjacent_find_switch
           (_FIter, _FIter, _BiPredicate, _IterTag)
       template<typename _FIter, typename _IterTag> _FIter __adjacent_find_switch (_FIter, _FIter, _IterTag)
       template<typename _FIterator, typename _BinaryPredicate, typename _IteratorTag> _FIterator
           __adjacent_find_switch (_FIterator __begin, _FIterator __end, _BinaryPredicate __pred, _IteratorTag)
       template<typename _FIterator, typename _IteratorTag> _FIterator __adjacent_find_switch (_FIterator
           __begin, _FIterator __end, _IteratorTag)
       template<typename _RAIter, typename _BinaryPredicate> _RAIter __adjacent_find_switch (_RAIter __begin,
           _RAIter __end, _BinaryPredicate __pred, random_access_iterator_tag)
       template<typename _RAIter> _RAIter __adjacent_find_switch (_RAIter __begin, _RAIter __end,
           random_access_iterator_tag)
       template<typename _RAIter, typename _BiPredicate> _RAIter __adjacent_find_switch (_RAIter, _RAIter,
           _BiPredicate, random_access_iterator_tag)
       template<typename _IIter, typename _Predicate, typename _IteratorTag> iterator_traits< _IIter
           >::difference_type __count_if_switch (_IIter __begin, _IIter __end, _Predicate __pred, _IteratorTag)
       template<typename _IIter, typename _Predicate, typename _IterTag> iterator_traits< _IIter
           >::difference_type __count_if_switch (_IIter, _IIter, _Predicate, _IterTag)
       template<typename _RAIter, typename _Predicate> iterator_traits< _RAIter >::difference_type
           __count_if_switch (_RAIter __begin, _RAIter __end, _Predicate __pred, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _Tp, typename _IteratorTag> iterator_traits< _IIter >::difference_type
           __count_switch (_IIter __begin, _IIter __end, const _Tp &__value, _IteratorTag)
       template<typename _IIter, typename _Tp, typename _IterTag> iterator_traits< _IIter >::difference_type
           __count_switch (_IIter, _IIter, const _Tp &, _IterTag)
       template<typename _RAIter, typename _Tp> iterator_traits< _RAIter >::difference_type __count_switch
           (_RAIter __begin, _RAIter __end, const _Tp &__value, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IteratorTag1, typename
           _IteratorTag2> bool __equal_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2
           __end2, _Predicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _RAIter1, typename _RAIter2, typename _Predicate> bool __equal_switch (_RAIter1
           __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter2 __end2, _Predicate __pred,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter, typename _FIterator, typename _BinaryPredicate, typename _IteratorTag1,
           typename _IteratorTag2> _IIter __find_first_of_switch (_IIter __begin1, _IIter __end1, _FIterator
           __begin2, _FIterator __end2, _BinaryPredicate __comp, _IteratorTag1, _IteratorTag2)
       template<typename _IIter, typename _FIterator, typename _IteratorTag1, typename _IteratorTag2> _IIter
           __find_first_of_switch (_IIter __begin1, _IIter __end1, _FIterator __begin2, _FIterator __end2,
           _IteratorTag1, _IteratorTag2)
       template<typename _IIter, typename _FIter, typename _BiPredicate, typename _IterTag1, typename _IterTag2>
           _IIter __find_first_of_switch (_IIter, _IIter, _FIter, _FIter, _BiPredicate, _IterTag1, _IterTag2)
       template<typename _IIter, typename _FIter, typename _IterTag1, typename _IterTag2> _IIter
           __find_first_of_switch (_IIter, _IIter, _FIter, _FIter, _IterTag1, _IterTag2)
       template<typename _RAIter, typename _FIterator, typename _BinaryPredicate, typename _IteratorTag> _RAIter
           __find_first_of_switch (_RAIter __begin1, _RAIter __end1, _FIterator __begin2, _FIterator __end2,
           _BinaryPredicate __comp, random_access_iterator_tag, _IteratorTag)
       template<typename _RAIter, typename _FIter, typename _BiPredicate, typename _IterTag> _RAIter
           __find_first_of_switch (_RAIter, _RAIter, _FIter, _FIter, _BiPredicate, random_access_iterator_tag,
           _IterTag)
       template<typename _IIter, typename _Predicate, typename _IteratorTag> _IIter __find_if_switch (_IIter
           __begin, _IIter __end, _Predicate __pred, _IteratorTag)
       template<typename _IIter, typename _Predicate, typename _IterTag> _IIter __find_if_switch (_IIter,
           _IIter, _Predicate, _IterTag)
       template<typename _RAIter, typename _Predicate> _RAIter __find_if_switch (_RAIter __begin, _RAIter __end,
           _Predicate __pred, random_access_iterator_tag)
       template<typename _IIter, typename _Tp, typename _IteratorTag> _IIter __find_switch (_IIter __begin,
           _IIter __end, const _Tp &__val, _IteratorTag)
       template<typename _IIter, typename _Tp, typename _IterTag> _IIter __find_switch (_IIter, _IIter, const
           _Tp &, _IterTag)
       template<typename _RAIter, typename _Tp> _RAIter __find_switch (_RAIter __begin, _RAIter __end, const _Tp
           &__val, random_access_iterator_tag)
       template<typename _IIter, typename _Function, typename _IteratorTag> _Function __for_each_switch (_IIter
           __begin, _IIter __end, _Function __f, _IteratorTag)
       template<typename _IIter, typename _Function, typename _IterTag> _Function __for_each_switch (_IIter,
           _IIter, _Function, _IterTag)
       template<typename _RAIter, typename _Function> _Function __for_each_switch (_RAIter __begin, _RAIter
           __end, _Function __f, random_access_iterator_tag, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _OIter, typename _Size, typename _Generator, typename _IterTag> _OIter
           __generate_n_switch (_OIter, _Size, _Generator, _IterTag)
       template<typename _OutputIterator, typename _Size, typename _Generator, typename _IteratorTag>
           _OutputIterator __generate_n_switch (_OutputIterator __begin, _Size __n, _Generator __gen,
           _IteratorTag)
       template<typename _RAIter, typename _Size, typename _Generator> _RAIter __generate_n_switch (_RAIter
           __begin, _Size __n, _Generator __gen, random_access_iterator_tag, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _FIter, typename _Generator, typename _IterTag> void __generate_switch (_FIter, _FIter,
           _Generator, _IterTag)
       template<typename _FIterator, typename _Generator, typename _IteratorTag> void __generate_switch
           (_FIterator __begin, _FIterator __end, _Generator __gen, _IteratorTag)
       template<typename _RAIter, typename _Generator> void __generate_switch (_RAIter __begin, _RAIter __end,
           _Generator __gen, random_access_iterator_tag, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2, typename _IteratorTag1, typename _IteratorTag2> _Tp __inner_product_switch (_IIter1
           __first1, _IIter1 __last1, _IIter2 __first2, _Tp __init, _BinaryFunction1 __binary_op1,
           _BinaryFunction2 __binary_op2, _IteratorTag1, _IteratorTag2)
       template<typename _IIter1, typename _IIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2, typename _Tag1, typename _Tag2> _Tp __inner_product_switch (_IIter1, _IIter1,
           _IIter2, _Tp, _BinaryFunction1, _BinaryFunction2, _Tag1, _Tag2)
       template<typename _RAIter1, typename _RAIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2> _Tp __inner_product_switch (_RAIter1, _RAIter1, _RAIter2, _Tp, _BinaryFunction1,
           _BinaryFunction2, random_access_iterator_tag, random_access_iterator_tag,
           __gnu_parallel::_Parallelism=__gnu_parallel::parallel_unbalanced)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IteratorTag1, typename
           _IteratorTag2> bool __lexicographical_compare_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2
           __begin2, _IIter2 __end2, _Predicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IterTag1, typename _IterTag2>
           bool __lexicographical_compare_switch (_IIter1, _IIter1, _IIter2, _IIter2, _Predicate, _IterTag1,
           _IterTag2)
       template<typename _RAIter1, typename _RAIter2, typename _Predicate> bool __lexicographical_compare_switch
           (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter2 __end2, _Predicate __pred,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _FIter, typename _Compare, typename _IterTag> _FIter __max_element_switch (_FIter,
           _FIter, _Compare, _IterTag)
       template<typename _FIterator, typename _Compare, typename _IteratorTag> _FIterator __max_element_switch
           (_FIterator __begin, _FIterator __end, _Compare __comp, _IteratorTag)
       template<typename _RAIter, typename _Compare> _RAIter __max_element_switch (_RAIter __begin, _RAIter
           __end, _Compare __comp, random_access_iterator_tag, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Compare, typename
           _IteratorTag1, typename _IteratorTag2, typename _IteratorTag3> _OutputIterator __merge_switch
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result,
           _Compare __comp, _IteratorTag1, _IteratorTag2, _IteratorTag3)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Compare> _OutputIterator
           __merge_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator
           __result, _Compare __comp, random_access_iterator_tag, random_access_iterator_tag,
           random_access_iterator_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Compare, typename _IterTag1,
           typename _IterTag2, typename _IterTag3> _OIter __merge_switch (_IIter1, _IIter1, _IIter2, _IIter2,
           _OIter, _Compare, _IterTag1, _IterTag2, _IterTag3)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Compare> _OIter __merge_switch
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare, random_access_iterator_tag,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _FIter, typename _Compare, typename _IterTag> _FIter __min_element_switch (_FIter,
           _FIter, _Compare, _IterTag)
       template<typename _FIterator, typename _Compare, typename _IteratorTag> _FIterator __min_element_switch
           (_FIterator __begin, _FIterator __end, _Compare __comp, _IteratorTag)
       template<typename _RAIter, typename _Compare> _RAIter __min_element_switch (_RAIter __begin, _RAIter
           __end, _Compare __comp, random_access_iterator_tag, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IteratorTag1, typename
           _IteratorTag2> pair< _IIter1, _IIter2 > __mismatch_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2
           __begin2, _IIter2 __end2, _Predicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IteratorTag1, typename
           _IteratorTag2> pair< _IIter1, _IIter2 > __mismatch_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2
           __begin2, _Predicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _IterTag1, typename _IterTag2>
           pair< _IIter1, _IIter2 > __mismatch_switch (_IIter1, _IIter1, _IIter2, _Predicate, _IterTag1,
           _IterTag2)
       template<typename _RAIter1, typename _RAIter2, typename _Predicate> pair< _RAIter1, _RAIter2 >
           __mismatch_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _Predicate __pred,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _RAIter1, typename _RAIter2, typename _Predicate> pair< _RAIter1, _RAIter2 >
           __mismatch_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter2 __end2, _Predicate
           __pred, random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation, typename _IteratorTag1,
           typename _IteratorTag2> _OutputIterator __partial_sum_switch (_IIter __begin, _IIter __end,
           _OutputIterator __result, _BinaryOperation __bin_op, _IteratorTag1, _IteratorTag2)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           __partial_sum_switch (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation
           __bin_op, random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter, typename _OIter, typename _BinaryOper, typename _Tag1, typename _Tag2> _OIter
           __partial_sum_switch (_IIter, _IIter, _OIter, _BinaryOper, _Tag1, _Tag2)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter __partial_sum_switch (_IIter,
           _IIter, _OIter, _BinaryOper, random_access_iterator_tag, random_access_iterator_tag)
       template<typename _FIter, typename _Predicate, typename _IterTag> _FIter __partition_switch (_FIter,
           _FIter, _Predicate, _IterTag)
       template<typename _FIterator, typename _Predicate, typename _IteratorTag> _FIterator __partition_switch
           (_FIterator __begin, _FIterator __end, _Predicate __pred, _IteratorTag)
       template<typename _RAIter, typename _Predicate> _RAIter __partition_switch (_RAIter __begin, _RAIter
           __end, _Predicate __pred, random_access_iterator_tag)
       template<typename _FIter, typename _Predicate, typename _Tp, typename _IterTag> void __replace_if_switch
           (_FIter, _FIter, _Predicate, const _Tp &, _IterTag)
       template<typename _FIterator, typename _Predicate, typename _Tp, typename _IteratorTag> void
           __replace_if_switch (_FIterator __begin, _FIterator __end, _Predicate __pred, const _Tp &__new_value,
           _IteratorTag)
       template<typename _RAIter, typename _Predicate, typename _Tp> void __replace_if_switch (_RAIter __begin,
           _RAIter __end, _Predicate __pred, const _Tp &__new_value, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIter, typename _Tp, typename _IterTag> void __replace_switch (_FIter, _FIter, const
           _Tp &, const _Tp &, _IterTag)
       template<typename _FIterator, typename _Tp, typename _IteratorTag> void __replace_switch (_FIterator
           __begin, _FIterator __end, const _Tp &__old_value, const _Tp &__new_value, _IteratorTag)
       template<typename _RAIter, typename _Tp> void __replace_switch (_RAIter __begin, _RAIter __end, const _Tp
           &__old_value, const _Tp &__new_value, random_access_iterator_tag, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _FIter, typename _Integer, typename _Tp, typename _BiPredicate, typename _IterTag>
           _FIter __search_n_switch (_FIter, _FIter, _Integer, const _Tp &, _BiPredicate, _IterTag)
       template<typename _FIterator, typename _Integer, typename _Tp, typename _BinaryPredicate, typename
           _IteratorTag> _FIterator __search_n_switch (_FIterator __begin, _FIterator __end, _Integer __count,
           const _Tp &__val, _BinaryPredicate __binary_pred, _IteratorTag)
       template<typename _RAIter, typename _Integer, typename _Tp, typename _BinaryPredicate> _RAIter
           __search_n_switch (_RAIter __begin, _RAIter __end, _Integer __count, const _Tp &__val,
           _BinaryPredicate __binary_pred, random_access_iterator_tag)
       template<typename _RAIter, typename _Integer, typename _Tp, typename _BiPredicate> _RAIter
           __search_n_switch (_RAIter, _RAIter, _Integer, const _Tp &, _BiPredicate, random_access_iterator_tag)
       template<typename _FIter1, typename _FIter2, typename _BiPredicate, typename _IterTag1, typename
           _IterTag2> _FIter1 __search_switch (_FIter1, _FIter1, _FIter2, _FIter2, _BiPredicate, _IterTag1,
           _IterTag2)
       template<typename _FIter1, typename _FIter2, typename _IterTag1, typename _IterTag2> _FIter1
           __search_switch (_FIter1, _FIter1, _FIter2, _FIter2, _IterTag1, _IterTag2)
       template<typename _FIterator1, typename _FIterator2, typename _BinaryPredicate, typename _IteratorTag1,
           typename _IteratorTag2> _FIterator1 __search_switch (_FIterator1 __begin1, _FIterator1 __end1,
           _FIterator2 __begin2, _FIterator2 __end2, _BinaryPredicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _FIterator1, typename _FIterator2, typename _IteratorTag1, typename _IteratorTag2>
           _FIterator1 __search_switch (_FIterator1 __begin1, _FIterator1 __end1, _FIterator2 __begin2,
           _FIterator2 __end2, _IteratorTag1, _IteratorTag2)
       template<typename _RAIter1, typename _RAIter2, typename _BinaryPredicate> _RAIter1 __search_switch
           (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter2 __end2, _BinaryPredicate __pred,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _RAIter1, typename _RAIter2> _RAIter1 __search_switch (_RAIter1 __begin1, _RAIter1
           __end1, _RAIter2 __begin2, _RAIter2 __end2, random_access_iterator_tag, random_access_iterator_tag)
       template<typename _RAIter1, typename _RAIter2, typename _BiPredicate> _RAIter1 __search_switch (_RAIter1,
           _RAIter1, _RAIter2, _RAIter2, _BiPredicate, random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OutputIterator, typename
           _IteratorTag1, typename _IteratorTag2, typename _IteratorTag3> _OutputIterator
           __set_difference_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __result, _Predicate __pred, _IteratorTag1, _IteratorTag2, _IteratorTag3)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OIter, typename _IterTag1,
           typename _IterTag2, typename _IterTag3> _OIter __set_difference_switch (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter, _Predicate, _IterTag1, _IterTag2, _IterTag3)
       template<typename _RAIter1, typename _RAIter2, typename _Output_RAIter, typename _Predicate>
           _Output_RAIter __set_difference_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2,
           _RAIter2 __end2, _Output_RAIter __result, _Predicate __pred, random_access_iterator_tag,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OutputIterator, typename
           _IteratorTag1, typename _IteratorTag2, typename _IteratorTag3> _OutputIterator
           __set_intersection_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __result, _Predicate __pred, _IteratorTag1, _IteratorTag2, _IteratorTag3)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OIter, typename _IterTag1,
           typename _IterTag2, typename _IterTag3> _OIter __set_intersection_switch (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter, _Predicate, _IterTag1, _IterTag2, _IterTag3)
       template<typename _RAIter1, typename _RAIter2, typename _Output_RAIter, typename _Predicate>
           _Output_RAIter __set_intersection_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2,
           _RAIter2 __end2, _Output_RAIter __result, _Predicate __pred, random_access_iterator_tag,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OutputIterator, typename
           _IteratorTag1, typename _IteratorTag2, typename _IteratorTag3> _OutputIterator
           __set_symmetric_difference_switch (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2
           __end2, _OutputIterator __result, _Predicate __pred, _IteratorTag1, _IteratorTag2, _IteratorTag3)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OIter, typename _IterTag1,
           typename _IterTag2, typename _IterTag3> _OIter __set_symmetric_difference_switch (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, _Predicate, _IterTag1, _IterTag2, _IterTag3)
       template<typename _RAIter1, typename _RAIter2, typename _Output_RAIter, typename _Predicate>
           _Output_RAIter __set_symmetric_difference_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2
           __begin2, _RAIter2 __end2, _Output_RAIter __result, _Predicate __pred, random_access_iterator_tag,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OutputIterator, typename
           _IteratorTag1, typename _IteratorTag2, typename _IteratorTag3> _OutputIterator __set_union_switch
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result,
           _Predicate __pred, _IteratorTag1, _IteratorTag2, _IteratorTag3)
       template<typename _IIter1, typename _IIter2, typename _Predicate, typename _OIter, typename _IterTag1,
           typename _IterTag2, typename _IterTag3> _OIter __set_union_switch (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter, _Predicate, _IterTag1, _IterTag2, _IterTag3)
       template<typename _RAIter1, typename _RAIter2, typename _Output_RAIter, typename _Predicate>
           _Output_RAIter __set_union_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter2
           __end2, _Output_RAIter __result, _Predicate __pred, random_access_iterator_tag,
           random_access_iterator_tag, random_access_iterator_tag)
       template<typename _IIter, typename _OIter, typename _UnaryOperation, typename _IterTag1, typename
           _IterTag2> _OIter __transform1_switch (_IIter, _IIter, _OIter, _UnaryOperation, _IterTag1, _IterTag2)
       template<typename _RAIIter, typename _RAOIter, typename _UnaryOperation> _RAOIter __transform1_switch
           (_RAIIter, _RAIIter, _RAOIter, _UnaryOperation, random_access_iterator_tag,
           random_access_iterator_tag, __gnu_parallel::_Parallelism
           __parallelism=__gnu_parallel::parallel_balanced)
       template<typename _RAIter1, typename _RAIter2, typename _UnaryOperation, typename _IteratorTag1, typename
           _IteratorTag2> _RAIter2 __transform1_switch (_RAIter1 __begin, _RAIter1 __end, _RAIter2 __result,
           _UnaryOperation __unary_op, _IteratorTag1, _IteratorTag2)
       template<typename _RAIter1, typename _RAIter2, typename _UnaryOperation> _RAIter2 __transform1_switch
           (_RAIter1 __begin, _RAIter1 __end, _RAIter2 __result, _UnaryOperation __unary_op,
           random_access_iterator_tag, random_access_iterator_tag, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _BinaryOperation,
           typename _Tag1, typename _Tag2, typename _Tag3> _OutputIterator __transform2_switch (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _OutputIterator __result, _BinaryOperation __binary_op,
           _Tag1, _Tag2, _Tag3)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _BiOperation, typename _Tag1,
           typename _Tag2, typename _Tag3> _OIter __transform2_switch (_IIter1, _IIter1, _IIter2, _OIter,
           _BiOperation, _Tag1, _Tag2, _Tag3)
       template<typename _RAIter1, typename _RAIter2, typename _RAIter3, typename _BinaryOperation> _RAIter3
           __transform2_switch (_RAIter1 __begin1, _RAIter1 __end1, _RAIter2 __begin2, _RAIter3 __result,
           _BinaryOperation __binary_op, random_access_iterator_tag, random_access_iterator_tag,
           random_access_iterator_tag, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _RAIter1, typename _RAIter2, typename _RAIter3, typename _BiOperation> _RAIter3
           __transform2_switch (_RAIter1, _RAIter1, _RAIter2, _RAIter3, _BiOperation,
           random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag,
           __gnu_parallel::_Parallelism __parallelism=__gnu_parallel::parallel_balanced)
       template<typename _IIter, typename _OutputIterator, typename _Predicate, typename _IteratorTag1, typename
           _IteratorTag2> _OutputIterator __unique_copy_switch (_IIter __begin, _IIter __last, _OutputIterator
           __out, _Predicate __pred, _IteratorTag1, _IteratorTag2)
       template<typename _IIter, typename _OIter, typename _Predicate, typename _IterTag1, typename _IterTag2>
           _OIter __unique_copy_switch (_IIter, _IIter, _OIter, _Predicate, _IterTag1, _IterTag2)
       template<typename _RAIter, typename _RandomAccessOutputIterator, typename _Predicate>
           _RandomAccessOutputIterator __unique_copy_switch (_RAIter __begin, _RAIter __last,
           _RandomAccessOutputIterator __out, _Predicate __pred, random_access_iterator_tag,
           random_access_iterator_tag)
       template<typename _RAIter, typename _RandomAccess_OIter, typename _Predicate> _RandomAccess_OIter
           __unique_copy_switch (_RAIter, _RAIter, _RandomAccess_OIter, _Predicate, random_access_iterator_tag,
           random_access_iterator_tag)
       template<typename _IIter, typename _Tp, typename _BinaryOperation> _Tp accumulate (_IIter __begin, _IIter
           __end, _Tp __init, _BinaryOperation __binary_op)
       template<typename _IIter, typename _Tp, typename _BinaryOperation> _Tp accumulate (_IIter __begin, _IIter
           __end, _Tp __init, _BinaryOperation __binary_op, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _Tp, typename _BinaryOperation> _Tp accumulate (_IIter __begin, _IIter
           __end, _Tp __init, _BinaryOperation __binary_op, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Tp> _Tp accumulate (_IIter, _IIter, _Tp)
       template<typename _IIter, typename _Tp> _Tp accumulate (_IIter, _IIter, _Tp,
           __gnu_parallel::_Parallelism)
       template<typename _IIter, typename _Tp> _Tp accumulate (_IIter, _IIter, _Tp,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Tp, typename _BinaryOper> _Tp accumulate (_IIter, _IIter, _Tp,
           _BinaryOper)
       template<typename _IIter, typename _Tp, typename _BinaryOper> _Tp accumulate (_IIter, _IIter, _Tp,
           _BinaryOper, __gnu_parallel::_Parallelism)
       template<typename _IIter, typename _Tp, typename _BinaryOper> _Tp accumulate (_IIter, _IIter, _Tp,
           _BinaryOper, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator> _OutputIterator adjacent_difference (_IIter __begin,
           _IIter __end, _OutputIterator __result)
       template<typename _IIter, typename _OutputIterator> _OutputIterator adjacent_difference (_IIter __begin,
           _IIter __end, _OutputIterator __result, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _OutputIterator> _OutputIterator adjacent_difference (_IIter __begin,
           _IIter __end, _OutputIterator __result, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           adjacent_difference (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation
           __bin_op, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           adjacent_difference (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation
           __binary_op)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           adjacent_difference (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation
           __binary_op, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _OIter> _OIter adjacent_difference (_IIter, _IIter, _OIter)
       template<typename _IIter, typename _OIter> _OIter adjacent_difference (_IIter, _IIter, _OIter,
           __gnu_parallel::_Parallelism)
       template<typename _IIter, typename _OIter> _OIter adjacent_difference (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter adjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter adjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper, __gnu_parallel::_Parallelism)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter adjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper, __gnu_parallel::sequential_tag)
       template<typename _FIter> _FIter adjacent_find (_FIter, _FIter)
       template<typename _FIter> _FIter adjacent_find (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _BiPredicate> _FIter adjacent_find (_FIter, _FIter, _BiPredicate)
       template<typename _FIter, typename _BiPredicate> _FIter adjacent_find (_FIter, _FIter, _BiPredicate,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator> _FIterator adjacent_find (_FIterator __begin, _FIterator __end)
       template<typename _FIterator> _FIterator adjacent_find (_FIterator __begin, _FIterator __end,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _BinaryPredicate> _FIterator adjacent_find (_FIterator __begin,
           _FIterator __end, _BinaryPredicate __binary_pred, __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _BinaryPredicate> _FIterator adjacent_find (_FIterator __begin,
           _FIterator __end, _BinaryPredicate __pred)
       template<typename _IIter, typename _Tp> iterator_traits< _IIter >::difference_type count (_IIter __begin,
           _IIter __end, const _Tp &__value)
       template<typename _IIter, typename _Tp> iterator_traits< _IIter >::difference_type count (_IIter __begin,
           _IIter __end, const _Tp &__value, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _Tp> iterator_traits< _IIter >::difference_type count (_IIter __begin,
           _IIter __end, const _Tp &__value, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Predicate> iterator_traits< _IIter >::difference_type count_if
           (_IIter __begin, _IIter __end, _Predicate __pred)
       template<typename _IIter, typename _Predicate> iterator_traits< _IIter >::difference_type count_if
           (_IIter __begin, _IIter __end, _Predicate __pred, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _Predicate> iterator_traits< _IIter >::difference_type count_if
           (_IIter __begin, _IIter __end, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2> constexpr bool equal (_IIter1 __begin1, _IIter1 __end1,
           _IIter2 __begin2)
       template<typename _IIter1, typename _IIter2> bool equal (_IIter1 __begin1, _IIter1 __end1, _IIter2
           __begin2, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2> constexpr bool equal (_IIter1 __begin1, _IIter1 __end1,
           _IIter2 __begin2, _IIter2 __end2)
       template<typename _IIter1, typename _IIter2> bool equal (_IIter1 __begin1, _IIter1 __end1, _IIter2
           __begin2, _IIter2 __end2, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _BinaryPredicate> constexpr bool equal (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _BinaryPredicate __binary_pred)
       template<typename _IIter1, typename _IIter2, typename _BinaryPredicate> bool equal (_IIter1 __begin1,
           _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _BinaryPredicate __binary_pred,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate> constexpr bool equal (_IIter1 __begin1,
           _IIter1 __end1, _IIter2 __begin2, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _Predicate> bool equal (_IIter1 __begin1, _IIter1
           __end1, _IIter2 __begin2, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Tp> _IIter find (_IIter __begin, _IIter __end, const _Tp &__val)
       template<typename _IIter, typename _Tp> _IIter find (_IIter __begin, _IIter __end, const _Tp &__val,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _FIterator> _IIter find_first_of (_IIter __begin1, _IIter __end1,
           _FIterator __begin2, _FIterator __end2)
       template<typename _IIter, typename _FIterator> _IIter find_first_of (_IIter __begin1, _IIter __end1,
           _FIterator __begin2, _FIterator __end2, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _FIterator, typename _BinaryPredicate> _IIter find_first_of (_IIter
           __begin1, _IIter __end1, _FIterator __begin2, _FIterator __end2, _BinaryPredicate __comp)
       template<typename _IIter, typename _FIterator, typename _BinaryPredicate> _IIter find_first_of (_IIter
           __begin1, _IIter __end1, _FIterator __begin2, _FIterator __end2, _BinaryPredicate __comp,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _FIter> _IIter find_first_of (_IIter, _IIter, _FIter, _FIter)
       template<typename _IIter, typename _FIter> _IIter find_first_of (_IIter, _IIter, _FIter, _FIter,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _FIter, typename _BiPredicate> _IIter find_first_of (_IIter, _IIter,
           _FIter, _FIter, _BiPredicate)
       template<typename _IIter, typename _FIter, typename _BiPredicate> _IIter find_first_of (_IIter, _IIter,
           _FIter, _FIter, _BiPredicate, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Predicate> _IIter find_if (_IIter __begin, _IIter __end, _Predicate
           __pred)
       template<typename _IIter, typename _Predicate> _IIter find_if (_IIter __begin, _IIter __end, _Predicate
           __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Function> _Function for_each (_IIter __begin, _IIter __end, _Function
           __f, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _Function> _Function for_each (_IIter, _IIter, _Function)
       template<typename _Iterator, typename _Function> _Function for_each (_Iterator __begin, _Iterator __end,
           _Function __f)
       template<typename _Iterator, typename _Function> _Function for_each (_Iterator __begin, _Iterator __end,
           _Function __f, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIter, typename _Generator> void generate (_FIter, _FIter, _Generator)
       template<typename _FIter, typename _Generator> void generate (_FIter, _FIter, _Generator,
           __gnu_parallel::_Parallelism)
       template<typename _FIter, typename _Generator> void generate (_FIter, _FIter, _Generator,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Generator> void generate (_FIterator __begin, _FIterator __end,
           _Generator __gen)
       template<typename _FIterator, typename _Generator> void generate (_FIterator __begin, _FIterator __end,
           _Generator __gen, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator, typename _Generator> void generate (_FIterator __begin, _FIterator __end,
           _Generator __gen, __gnu_parallel::sequential_tag)
       template<typename _OIter, typename _Size, typename _Generator> _OIter generate_n (_OIter, _Size,
           _Generator)
       template<typename _OIter, typename _Size, typename _Generator> _OIter generate_n (_OIter, _Size,
           _Generator, __gnu_parallel::_Parallelism)
       template<typename _OIter, typename _Size, typename _Generator> _OIter generate_n (_OIter, _Size,
           _Generator, __gnu_parallel::sequential_tag)
       template<typename _OutputIterator, typename _Size, typename _Generator> _OutputIterator generate_n
           (_OutputIterator __begin, _Size __n, _Generator __gen)
       template<typename _OutputIterator, typename _Size, typename _Generator> _OutputIterator generate_n
           (_OutputIterator __begin, _Size __n, _Generator __gen, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _OutputIterator, typename _Size, typename _Generator> _OutputIterator generate_n
           (_OutputIterator __begin, _Size __n, _Generator __gen, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _Tp> _Tp inner_product (_IIter1, _IIter1, _IIter2,
           _Tp)
       template<typename _IIter1, typename _IIter2, typename _Tp> _Tp inner_product (_IIter1, _IIter1, _IIter2,
           _Tp, __gnu_parallel::_Parallelism)
       template<typename _IIter1, typename _IIter2, typename _Tp> _Tp inner_product (_IIter1, _IIter1, _IIter2,
           _Tp, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2> _Tp inner_product (_IIter1, _IIter1, _IIter2, _Tp, _BinaryFunction1,
           _BinaryFunction2)
       template<typename _IIter1, typename _IIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2> _Tp inner_product (_IIter1, _IIter1, _IIter2, _Tp, _BinaryFunction1,
           _BinaryFunction2, __gnu_parallel::_Parallelism)
       template<typename _IIter1, typename _IIter2, typename _Tp, typename _BinaryFunction1, typename
           _BinaryFunction2> _Tp inner_product (_IIter1, _IIter1, _IIter2, _Tp, _BinaryFunction1,
           _BinaryFunction2, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2> constexpr bool lexicographical_compare (_IIter1 __begin1,
           _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2)
       template<typename _IIter1, typename _IIter2> bool lexicographical_compare (_IIter1 __begin1, _IIter1
           __end1, _IIter2 __begin2, _IIter2 __end2, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _Predicate> constexpr bool lexicographical_compare
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _Predicate> bool lexicographical_compare (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _Predicate __pred,
           __gnu_parallel::sequential_tag)
       template<typename _FIter> _FIter max_element (_FIter, _FIter)
       template<typename _FIter> _FIter max_element (_FIter, _FIter, __gnu_parallel::_Parallelism)
       template<typename _FIter> _FIter max_element (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Compare> _FIter max_element (_FIter, _FIter, _Compare)
       template<typename _FIter, typename _Compare> _FIter max_element (_FIter, _FIter, _Compare,
           __gnu_parallel::_Parallelism)
       template<typename _FIter, typename _Compare> _FIter max_element (_FIter, _FIter, _Compare,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator> _FIterator max_element (_FIterator __begin, _FIterator __end)
       template<typename _FIterator> _FIterator max_element (_FIterator __begin, _FIterator __end,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator> _FIterator max_element (_FIterator __begin, _FIterator __end,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Compare> _FIterator max_element (_FIterator __begin, _FIterator
           __end, _Compare __comp)
       template<typename _FIterator, typename _Compare> _FIterator max_element (_FIterator __begin, _FIterator
           __end, _Compare __comp, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator, typename _Compare> _FIterator max_element (_FIterator __begin, _FIterator
           __end, _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator merge (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator merge (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Compare> _OutputIterator
           merge (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result,
           _Compare __comp)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Compare> _OutputIterator
           merge (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __result,
           _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter merge (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter merge (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Compare> _OIter merge (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter, _Compare)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Compare> _OIter merge (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter, _Compare, __gnu_parallel::sequential_tag)
       template<typename _FIter> _FIter min_element (_FIter, _FIter)
       template<typename _FIter> _FIter min_element (_FIter, _FIter, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _FIter> _FIter min_element (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Compare> _FIter min_element (_FIter, _FIter, _Compare)
       template<typename _FIter, typename _Compare> _FIter min_element (_FIter, _FIter, _Compare,
           __gnu_parallel::_Parallelism)
       template<typename _FIter, typename _Compare> _FIter min_element (_FIter, _FIter, _Compare,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator> _FIterator min_element (_FIterator __begin, _FIterator __end)
       template<typename _FIterator> _FIterator min_element (_FIterator __begin, _FIterator __end,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator> _FIterator min_element (_FIterator __begin, _FIterator __end,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Compare> _FIterator min_element (_FIterator __begin, _FIterator
           __end, _Compare __comp)
       template<typename _FIterator, typename _Compare> _FIterator min_element (_FIterator __begin, _FIterator
           __end, _Compare __comp, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator, typename _Compare> _FIterator min_element (_FIterator __begin, _FIterator
           __end, _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2> pair< _IIter1, _IIter2 > mismatch (_IIter1 __begin1, _IIter1
           __end1, _IIter2 __begin2)
       template<typename _IIter1, typename _IIter2> pair< _IIter1, _IIter2 > mismatch (_IIter1 __begin1, _IIter1
           __end1, _IIter2 __begin2, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2> pair< _IIter1, _IIter2 > mismatch (_IIter1 __begin1, _IIter1
           __end1, _IIter2 __begin2, _IIter2 __end2)
       template<typename _IIter1, typename _IIter2, typename _Predicate> pair< _IIter1, _IIter2 > mismatch
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _Predicate> pair< _IIter1, _IIter2 > mismatch
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _Predicate __pred,
           __gnu_parallel::sequential_tag)
       template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate> pair<
           _InputIterator1, _InputIterator2 > mismatch (_InputIterator1 __begin1, _InputIterator1 __end1,
           _InputIterator2 __begin2, _InputIterator2 __end2, _BinaryPredicate __binary_pred)
       template<typename _InputIterator1, typename _InputIterator2> pair< _InputIterator1, _InputIterator2 >
           mismatch (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2,
           _InputIterator2 __last2, __gnu_parallel::sequential_tag)
       template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate> pair<
           _InputIterator1, _InputIterator2 > mismatch (_InputIterator1 __first1, _InputIterator1 __last1,
           _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter> void nth_element (_RAIter __begin, _RAIter __nth, _RAIter __end)
       template<typename _RAIter> void nth_element (_RAIter __begin, _RAIter __nth, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare> void nth_element (_RAIter __begin, _RAIter __nth, _RAIter
           __end, _Compare __comp)
       template<typename _RAIter, typename _Compare> void nth_element (_RAIter __begin, _RAIter __nth, _RAIter
           __end, _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _RAIter> void partial_sort (_RAIter __begin, _RAIter __middle, _RAIter __end)
       template<typename _RAIter> void partial_sort (_RAIter __begin, _RAIter __middle, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare> void partial_sort (_RAIter __begin, _RAIter __middle,
           _RAIter __end, _Compare __comp)
       template<typename _RAIter, typename _Compare> void partial_sort (_RAIter __begin, _RAIter __middle,
           _RAIter __end, _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator> _OutputIterator partial_sum (_IIter __begin, _IIter
           __end, _OutputIterator __result)
       template<typename _IIter, typename _OutputIterator> _OutputIterator partial_sum (_IIter __begin, _IIter
           __end, _OutputIterator __result, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           partial_sum (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation __bin_op,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator, typename _BinaryOperation> _OutputIterator
           partial_sum (_IIter __begin, _IIter __end, _OutputIterator __result, _BinaryOperation __binary_op)
       template<typename _IIter, typename _OIter> _OIter partial_sum (_IIter, _IIter, _OIter __result)
       template<typename _IIter, typename _OIter> _OIter partial_sum (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter partial_sum (_IIter, _IIter,
           _OIter, _BinaryOper)
       template<typename _IIter, typename _OIter, typename _BinaryOper> _OIter partial_sum (_IIter, _IIter,
           _OIter, _BinaryOper, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Predicate> _FIter partition (_FIter, _FIter, _Predicate)
       template<typename _FIter, typename _Predicate> _FIter partition (_FIter, _FIter, _Predicate,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Predicate> _FIterator partition (_FIterator __begin, _FIterator
           __end, _Predicate __pred)
       template<typename _FIterator, typename _Predicate> _FIterator partition (_FIterator __begin, _FIterator
           __end, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _RAIter> void random_shuffle (_RAIter __begin, _RAIter __end)
       template<typename _RAIter> void random_shuffle (_RAIter __begin, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _RandomNumberGenerator> void random_shuffle (_RAIter __begin, _RAIter
           __end, _RandomNumberGenerator &&__rand)
       template<typename _RAIter, typename _RandomNumberGenerator> void random_shuffle (_RAIter __begin, _RAIter
           __end, _RandomNumberGenerator &__rand, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Tp> void replace (_FIter, _FIter, const _Tp &, const _Tp &)
       template<typename _FIter, typename _Tp> void replace (_FIter, _FIter, const _Tp &, const _Tp &,
           __gnu_parallel::_Parallelism)
       template<typename _FIter, typename _Tp> void replace (_FIter, _FIter, const _Tp &, const _Tp &,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Tp> void replace (_FIterator __begin, _FIterator __end, const _Tp
           &__old_value, const _Tp &__new_value)
       template<typename _FIterator, typename _Tp> void replace (_FIterator __begin, _FIterator __end, const _Tp
           &__old_value, const _Tp &__new_value, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _FIterator, typename _Tp> void replace (_FIterator __begin, _FIterator __end, const _Tp
           &__old_value, const _Tp &__new_value, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Predicate, typename _Tp> void replace_if (_FIter, _FIter, _Predicate,
           const _Tp &)
       template<typename _FIter, typename _Predicate, typename _Tp> void replace_if (_FIter, _FIter, _Predicate,
           const _Tp &, __gnu_parallel::_Parallelism)
       template<typename _FIter, typename _Predicate, typename _Tp> void replace_if (_FIter, _FIter, _Predicate,
           const _Tp &, __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Predicate, typename _Tp> void replace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value)
       template<typename _FIterator, typename _Predicate, typename _Tp> void replace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value, __gnu_parallel::_Parallelism
           __parallelism_tag)
       template<typename _FIterator, typename _Predicate, typename _Tp> void replace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value, __gnu_parallel::sequential_tag)
       template<typename _FIter1, typename _FIter2> _FIter1 search (_FIter1, _FIter1, _FIter2, _FIter2)
       template<typename _FIter1, typename _FIter2> _FIter1 search (_FIter1, _FIter1, _FIter2, _FIter2,
           __gnu_parallel::sequential_tag)
       template<typename _FIter1, typename _FIter2, typename _BiPredicate> constexpr _FIter1 search (_FIter1,
           _FIter1, _FIter2, _FIter2, _BiPredicate)
       template<typename _FIter1, typename _FIter2, typename _BiPredicate> _FIter1 search (_FIter1, _FIter1,
           _FIter2, _FIter2, _BiPredicate, __gnu_parallel::sequential_tag)
       template<typename _FIterator1, typename _FIterator2> _FIterator1 search (_FIterator1 __begin1,
           _FIterator1 __end1, _FIterator2 __begin2, _FIterator2 __end2)
       template<typename _FIterator1, typename _FIterator2> _FIterator1 search (_FIterator1 __begin1,
           _FIterator1 __end1, _FIterator2 __begin2, _FIterator2 __end2, __gnu_parallel::sequential_tag)
       template<typename _FIterator1, typename _FIterator2, typename _BinaryPredicate> constexpr _FIterator1
           search (_FIterator1 __begin1, _FIterator1 __end1, _FIterator2 __begin2, _FIterator2 __end2,
           _BinaryPredicate __pred)
       template<typename _FIterator1, typename _FIterator2, typename _BinaryPredicate> _FIterator1 search
           (_FIterator1 __begin1, _FIterator1 __end1, _FIterator2 __begin2, _FIterator2 __end2, _BinaryPredicate
           __pred, __gnu_parallel::sequential_tag)
       template<typename _ForwardIterator, typename _Searcher> _ForwardIterator search (_ForwardIterator
           __first, _ForwardIterator __last, const _Searcher &__searcher)
           Search a sequence using a Searcher object.
       template<typename _FIter, typename _Integer, typename _Tp> _FIter search_n (_FIter, _FIter, _Integer,
           const _Tp &)
       template<typename _FIter, typename _Integer, typename _Tp> _FIter search_n (_FIter, _FIter, _Integer,
           const _Tp &, __gnu_parallel::sequential_tag)
       template<typename _FIter, typename _Integer, typename _Tp, typename _BiPredicate> _FIter search_n
           (_FIter, _FIter, _Integer, const _Tp &, _BiPredicate)
       template<typename _FIter, typename _Integer, typename _Tp, typename _BiPredicate> _FIter search_n
           (_FIter, _FIter, _Integer, const _Tp &, _BiPredicate, __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Integer, typename _Tp> _FIterator search_n (_FIterator __begin,
           _FIterator __end, _Integer __count, const _Tp &__val)
       template<typename _FIterator, typename _Integer, typename _Tp> _FIterator search_n (_FIterator __begin,
           _FIterator __end, _Integer __count, const _Tp &__val, __gnu_parallel::sequential_tag)
       template<typename _FIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> _FIterator
           search_n (_FIterator __begin, _FIterator __end, _Integer __count, const _Tp &__val, _BinaryPredicate
           __binary_pred)
       template<typename _FIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> _FIterator
           search_n (_FIterator __begin, _FIterator __end, _Integer __count, const _Tp &__val, _BinaryPredicate
           __binary_pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_difference
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_difference
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_difference (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_difference (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter set_difference
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter set_difference
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_intersection
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_intersection
           (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_intersection (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_intersection (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_intersection (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_intersection (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter
           set_intersection (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter
           set_intersection (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator
           set_symmetric_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator
           set_symmetric_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_symmetric_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2
           __end2, _OutputIterator __out, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_symmetric_difference (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2
           __end2, _OutputIterator __out, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_symmetric_difference (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_symmetric_difference (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter
           set_symmetric_difference (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter
           set_symmetric_difference (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_union (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator> _OutputIterator set_union (_IIter1
           __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2, _OutputIterator __out,
           __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_union (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _Predicate>
           _OutputIterator set_union (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
           _OutputIterator __out, _Predicate __pred, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_union (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter)
       template<typename _IIter1, typename _IIter2, typename _OIter> _OIter set_union (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter set_union
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _Predicate> _OIter set_union
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate, __gnu_parallel::sequential_tag)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::balanced_quicksort_tag __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::default_parallel_tag __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_exact_tag __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_sampling_tag __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_tag __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end, __gnu_parallel::parallel_tag
           __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end, __gnu_parallel::quicksort_tag
           __parallelism)
       template<typename _RAIter> void sort (_RAIter __begin, _RAIter __end, __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare> void sort (_RAIter __begin, _RAIter __end, _Compare __comp)
       template<typename _RAIter, typename _Compare> void sort (_RAIter __begin, _RAIter __end, _Compare __comp,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare, typename _Parallelism> void sort (_RAIter __begin, _RAIter
           __end, _Compare __comp, _Parallelism __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::balanced_quicksort_tag __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::default_parallel_tag __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_tag __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end, __gnu_parallel::parallel_tag
           __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::quicksort_tag __parallelism)
       template<typename _RAIter> void stable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare> void stable_sort (_RAIter __begin, _RAIter __end, _Compare
           __comp)
       template<typename _RAIter, typename _Compare> void stable_sort (_RAIter __begin, _RAIter __end, _Compare
           __comp, __gnu_parallel::sequential_tag)
       template<typename _RAIter, typename _Compare, typename _Parallelism> void stable_sort (_RAIter __begin,
           _RAIter __end, _Compare __comp, _Parallelism __parallelism)
       template<typename _IIter, typename _OutputIterator, typename _UnaryOperation> _OutputIterator transform
           (_IIter __begin, _IIter __end, _OutputIterator __result, _UnaryOperation __unary_op)
       template<typename _IIter, typename _OutputIterator, typename _UnaryOperation> _OutputIterator transform
           (_IIter __begin, _IIter __end, _OutputIterator __result, _UnaryOperation __unary_op,
           __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter, typename _OutputIterator, typename _UnaryOperation> _OutputIterator transform
           (_IIter __begin, _IIter __end, _OutputIterator __result, _UnaryOperation __unary_op,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OIter, typename _UnaryOperation> _OIter transform (_IIter, _IIter,
           _OIter, _UnaryOperation)
       template<typename _IIter, typename _OIter, typename _UnaryOperation> _OIter transform (_IIter, _IIter,
           _OIter, _UnaryOperation, __gnu_parallel::_Parallelism)
       template<typename _IIter, typename _OIter, typename _UnaryOperation> _OIter transform (_IIter, _IIter,
           _OIter, _UnaryOperation, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _BinaryOperation>
           _OutputIterator transform (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _OutputIterator
           __result, _BinaryOperation __binary_op)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _BinaryOperation>
           _OutputIterator transform (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _OutputIterator
           __result, _BinaryOperation __binary_op, __gnu_parallel::_Parallelism __parallelism_tag)
       template<typename _IIter1, typename _IIter2, typename _OutputIterator, typename _BinaryOperation>
           _OutputIterator transform (_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _OutputIterator
           __result, _BinaryOperation __binary_op, __gnu_parallel::sequential_tag)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _BiOperation> _OIter transform
           (_IIter1, _IIter1, _IIter2, _OIter, _BiOperation)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _BiOperation> _OIter transform
           (_IIter1, _IIter1, _IIter2, _OIter, _BiOperation, __gnu_parallel::_Parallelism)
       template<typename _IIter1, typename _IIter2, typename _OIter, typename _BiOperation> _OIter transform
           (_IIter1, _IIter1, _IIter2, _OIter, _BiOperation, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator> _OutputIterator unique_copy (_IIter __begin1, _IIter
           __end1, _OutputIterator __out)
       template<typename _IIter, typename _OutputIterator> _OutputIterator unique_copy (_IIter __begin1, _IIter
           __end1, _OutputIterator __out, __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OutputIterator, typename _Predicate> _OutputIterator unique_copy
           (_IIter __begin1, _IIter __end1, _OutputIterator __out, _Predicate __pred)
       template<typename _IIter, typename _OutputIterator, typename _Predicate> _OutputIterator unique_copy
           (_IIter __begin1, _IIter __end1, _OutputIterator __out, _Predicate __pred,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OIter> _OIter unique_copy (_IIter, _IIter, _OIter)
       template<typename _IIter, typename _OIter> _OIter unique_copy (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename _IIter, typename _OIter, typename _Predicate> _OIter unique_copy (_IIter, _IIter,
           _OIter, _Predicate)
       template<typename _IIter, typename _OIter, typename _Predicate> _OIter unique_copy (_IIter, _IIter,
           _OIter, _Predicate, __gnu_parallel::sequential_tag)

Detailed Description

       GNU parallel code, replaces standard behavior with parallel behavior.

Function Documentation

   template<typename _ForwardIterator, typename _Searcher> _ForwardIterator std::__parallel::search
       (_ForwardIterator __first, _ForwardIterator __last, const _Searcher & __searcher) [inline]
       Search a sequence using a Searcher object.

       Parameters
           __first A forward iterator.
           __last A forward iterator.
           __searcher A callable object.

       Returns
           __searcher(__first,__last).first

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc++                              std::__parallel(3cxx)