logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

                                                    libstdc++                              std::__parallel(3cxx)

Detailed Description

       GNU parallel code, replaces standard behavior with parallel behavior.

Function Documentation

template<typename_ForwardIterator,typename_Searcher>_ForwardIteratorstd::__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

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 > _OIteradjacent_difference (_IIter, _IIter, _OIter)
       template<typename_IIter , typename_OIter > _OIteradjacent_difference (_IIter, _IIter, _OIter,
           __gnu_parallel::_Parallelism)
       template<typename_IIter , typename_OIter > _OIteradjacent_difference (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_OIter , typename_BinaryOper > _OIteradjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper)
       template<typename_IIter , typename_OIter , typename_BinaryOper > _OIteradjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper, __gnu_parallel::_Parallelism)
       template<typename_IIter , typename_OIter , typename_BinaryOper > _OIteradjacent_difference (_IIter,
           _IIter, _OIter, _BinaryOper, __gnu_parallel::sequential_tag)
       template<typename_FIter > _FIteradjacent_find (_FIter, _FIter)
       template<typename_FIter > _FIteradjacent_find (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename_BiPredicate > _FIteradjacent_find (_FIter, _FIter, _BiPredicate)
       template<typename_FIter , typename_BiPredicate > _FIteradjacent_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 > _IIterfind (_IIter __begin, _IIter __end, const _Tp &__val)
       template<typename_IIter , typename _Tp > _IIterfind (_IIter __begin, _IIter __end, const _Tp &__val,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename _FIterator > _IIterfind_first_of (_IIter__begin1, _IIter__end1,
           _FIterator __begin2, _FIterator __end2)
       template<typename_IIter , typename _FIterator > _IIterfind_first_of (_IIter__begin1, _IIter__end1,
           _FIterator __begin2, _FIterator __end2, __gnu_parallel::sequential_tag)
       template<typename_IIter , typename _FIterator , typename_BinaryPredicate > _IIterfind_first_of (_IIter__begin1, _IIter__end1, _FIterator __begin2, _FIterator __end2, _BinaryPredicate __comp)
       template<typename_IIter , typename _FIterator , typename_BinaryPredicate > _IIterfind_first_of (_IIter__begin1, _IIter__end1, _FIterator __begin2, _FIterator __end2, _BinaryPredicate __comp,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_FIter > _IIterfind_first_of (_IIter, _IIter, _FIter, _FIter)
       template<typename_IIter , typename_FIter > _IIterfind_first_of (_IIter, _IIter, _FIter, _FIter,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_FIter , typename_BiPredicate > _IIterfind_first_of (_IIter,
           _IIter, _FIter, _FIter, _BiPredicate)
       template<typename_IIter , typename_FIter , typename_BiPredicate > _IIterfind_first_of (_IIter,
           _IIter, _FIter, _FIter, _BiPredicate, __gnu_parallel::sequential_tag)
       template<typename_IIter , typename _Predicate > _IIterfind_if (_IIter __begin, _IIter __end, _Predicate
           __pred)
       template<typename_IIter , typename _Predicate > _IIterfind_if (_IIter __begin, _IIter __end, _Predicate
           __pred, __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_Function > _Functionfor_each (_IIter __begin, _IIter __end,
           _Function __f, __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_Function > _Functionfor_each (_IIter, _IIter, _Function)
       template<typename _Iterator , typename_Function > _Functionfor_each (_Iterator __begin, _Iterator
           __end, _Function __f)
       template<typename _Iterator , typename_Function > _Functionfor_each (_Iterator __begin, _Iterator
           __end, _Function __f, __gnu_parallel::_Parallelism__parallelism_tag)
       template<typename_FIter , typename_Generator > voidgenerate (_FIter, _FIter, _Generator)
       template<typename_FIter , typename_Generator > voidgenerate (_FIter, _FIter, _Generator,
           __gnu_parallel::_Parallelism)
       template<typename_FIter , typename_Generator > voidgenerate (_FIter, _FIter, _Generator,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator , typename_Generator > voidgenerate (_FIterator __begin, _FIterator __end,
           _Generator__gen)
       template<typename _FIterator , typename_Generator > voidgenerate (_FIterator __begin, _FIterator __end,
           _Generator__gen, __gnu_parallel::_Parallelism__parallelism_tag)
       template<typename _FIterator , typename_Generator > voidgenerate (_FIterator __begin, _FIterator __end,
           _Generator__gen, __gnu_parallel::sequential_tag)
       template<typename_OIter , typename _Size , typename_Generator > _OItergenerate_n (_OIter, _Size,
           _Generator)
       template<typename_OIter , typename _Size , typename_Generator > _OItergenerate_n (_OIter, _Size,
           _Generator, __gnu_parallel::_Parallelism)
       template<typename_OIter , typename _Size , typename_Generator > _OItergenerate_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 > _FItermax_element (_FIter, _FIter)
       template<typename_FIter > _FItermax_element (_FIter, _FIter, __gnu_parallel::_Parallelism)
       template<typename_FIter > _FItermax_element (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename _Compare > _FItermax_element (_FIter, _FIter, _Compare)
       template<typename_FIter , typename _Compare > _FItermax_element (_FIter, _FIter, _Compare,
           __gnu_parallel::_Parallelism)
       template<typename_FIter , typename _Compare > _FItermax_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 > _OItermerge (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter)
       template<typename_IIter1 , typename_IIter2 , typename_OIter > _OItermerge (_IIter1, _IIter1, _IIter2,
           _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Compare > _OItermerge
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Compare > _OItermerge
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare, __gnu_parallel::sequential_tag)
       template<typename_FIter > _FItermin_element (_FIter, _FIter)
       template<typename_FIter > _FItermin_element (_FIter, _FIter, __gnu_parallel::_Parallelism__parallelism_tag)
       template<typename_FIter > _FItermin_element (_FIter, _FIter, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename _Compare > _FItermin_element (_FIter, _FIter, _Compare)
       template<typename_FIter , typename _Compare > _FItermin_element (_FIter, _FIter, _Compare,
           __gnu_parallel::_Parallelism)
       template<typename_FIter , typename _Compare > _FItermin_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 > voidnth_element (_RAIter __begin, _RAIter __nth, _RAIter __end)
       template<typename _RAIter > voidnth_element (_RAIter __begin, _RAIter __nth, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare > voidnth_element (_RAIter __begin, _RAIter __nth, _RAIter
           __end, _Compare __comp)
       template<typename _RAIter , typename _Compare > voidnth_element (_RAIter __begin, _RAIter __nth, _RAIter
           __end, _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _RAIter > voidpartial_sort (_RAIter __begin, _RAIter __middle, _RAIter __end)
       template<typename _RAIter > voidpartial_sort (_RAIter __begin, _RAIter __middle, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare > voidpartial_sort (_RAIter __begin, _RAIter __middle,
           _RAIter __end, _Compare __comp)
       template<typename _RAIter , typename _Compare > voidpartial_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 > _OIterpartial_sum (_IIter, _IIter, _OIter __result)
       template<typename_IIter , typename_OIter > _OIterpartial_sum (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_OIter , typename_BinaryOper > _OIterpartial_sum (_IIter, _IIter,
           _OIter, _BinaryOper)
       template<typename_IIter , typename_OIter , typename_BinaryOper > _OIterpartial_sum (_IIter, _IIter,
           _OIter, _BinaryOper, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename _Predicate > _FIterpartition (_FIter, _FIter, _Predicate)
       template<typename_FIter , typename _Predicate > _FIterpartition (_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 > voidrandom_shuffle (_RAIter __begin, _RAIter __end)
       template<typename _RAIter > voidrandom_shuffle (_RAIter __begin, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename_RandomNumberGenerator > voidrandom_shuffle (_RAIter __begin,
           _RAIter __end, _RandomNumberGenerator &&__rand)
       template<typename _RAIter , typename_RandomNumberGenerator > voidrandom_shuffle (_RAIter __begin,
           _RAIter __end, _RandomNumberGenerator &__rand, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename _Tp > voidreplace (_FIter, _FIter, const _Tp &, const _Tp &)
       template<typename_FIter , typename _Tp > voidreplace (_FIter, _FIter, const _Tp &, const _Tp &,
           __gnu_parallel::_Parallelism)
       template<typename_FIter , typename _Tp > voidreplace (_FIter, _FIter, const _Tp &, const _Tp &,
           __gnu_parallel::sequential_tag)
       template<typename _FIterator , typename _Tp > voidreplace (_FIterator __begin, _FIterator __end, const
           _Tp &__old_value, const _Tp &__new_value)
       template<typename _FIterator , typename _Tp > voidreplace (_FIterator __begin, _FIterator __end, const
           _Tp &__old_value, const _Tp &__new_value, __gnu_parallel::_Parallelism__parallelism_tag)
       template<typename _FIterator , typename _Tp > voidreplace (_FIterator __begin, _FIterator __end, const
           _Tp &__old_value, const _Tp &__new_value, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename _Predicate , typename _Tp > voidreplace_if (_FIter, _FIter,
           _Predicate, const _Tp &)
       template<typename_FIter , typename _Predicate , typename _Tp > voidreplace_if (_FIter, _FIter,
           _Predicate, const _Tp &, __gnu_parallel::_Parallelism)
       template<typename_FIter , typename _Predicate , typename _Tp > voidreplace_if (_FIter, _FIter,
           _Predicate, const _Tp &, __gnu_parallel::sequential_tag)
       template<typename _FIterator , typename _Predicate , typename _Tp > voidreplace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value)
       template<typename _FIterator , typename _Predicate , typename _Tp > voidreplace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value, __gnu_parallel::_Parallelism__parallelism_tag)
       template<typename _FIterator , typename _Predicate , typename _Tp > voidreplace_if (_FIterator __begin,
           _FIterator __end, _Predicate __pred, const _Tp &__new_value, __gnu_parallel::sequential_tag)
       template<typename_FIter1 , typename_FIter2 > _FIter1search (_FIter1, _FIter1, _FIter2, _FIter2)
       template<typename_FIter1 , typename_FIter2 > _FIter1search (_FIter1, _FIter1, _FIter2, _FIter2,
           __gnu_parallel::sequential_tag)
       template<typename_FIter1 , typename_FIter2 , typename_BiPredicate > _FIter1search (_FIter1, _FIter1,
           _FIter2, _FIter2, _BiPredicate)
       template<typename_FIter1 , typename_FIter2 , typename_BiPredicate > _FIter1search (_FIter1, _FIter1,
           _FIter2, _FIter2, _BiPredicate, __gnu_parallel::sequential_tag)
       template<typename_FIterator1 , typename_FIterator2 > _FIterator1search (_FIterator1__begin1,
           _FIterator1__end1, _FIterator2__begin2, _FIterator2__end2)
       template<typename_FIterator1 , typename_FIterator2 > _FIterator1search (_FIterator1__begin1,
           _FIterator1__end1, _FIterator2__begin2, _FIterator2__end2, __gnu_parallel::sequential_tag)
       template<typename_FIterator1 , typename_FIterator2 , typename_BinaryPredicate > _FIterator1search
           (_FIterator1__begin1, _FIterator1__end1, _FIterator2__begin2, _FIterator2__end2, _BinaryPredicate__pred)
       template<typename_FIterator1 , typename_FIterator2 , typename_BinaryPredicate > _FIterator1search
           (_FIterator1__begin1, _FIterator1__end1, _FIterator2__begin2, _FIterator2__end2, _BinaryPredicate__pred, __gnu_parallel::sequential_tag)
       template<typename_ForwardIterator , typename_Searcher > _ForwardIteratorsearch (_ForwardIterator
           __first, _ForwardIterator __last, const _Searcher &__searcher)
           Search a sequence using a Searcher object.
       template<typename_FIter , typename_Integer , typename _Tp > _FItersearch_n (_FIter, _FIter, _Integer,
           const _Tp &)
       template<typename_FIter , typename_Integer , typename _Tp > _FItersearch_n (_FIter, _FIter, _Integer,
           const _Tp &, __gnu_parallel::sequential_tag)
       template<typename_FIter , typename_Integer , typename _Tp , typename_BiPredicate > _FItersearch_n
           (_FIter, _FIter, _Integer, const _Tp &, _BiPredicate)
       template<typename_FIter , typename_Integer , typename _Tp , typename_BiPredicate > _FItersearch_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 > _OIterset_difference (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter)
       template<typename_IIter1 , typename_IIter2 , typename_OIter > _OIterset_difference (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_difference (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_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 > _OIterset_intersection (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter)
       template<typename_IIter1 , typename_IIter2 , typename_OIter > _OIterset_intersection (_IIter1,
           _IIter1, _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_intersection (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_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 > _OIterset_symmetric_difference
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter)
       template<typename_IIter1 , typename_IIter2 , typename_OIter > _OIterset_symmetric_difference
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_symmetric_difference (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_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 > _OIterset_union (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter)
       template<typename_IIter1 , typename_IIter2 , typename_OIter > _OIterset_union (_IIter1, _IIter1,
           _IIter2, _IIter2, _OIter, __gnu_parallel::sequential_tag)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_union
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename _Predicate > _OIterset_union
           (_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Predicate, __gnu_parallel::sequential_tag)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::balanced_quicksort_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::default_parallel_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_exact_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_sampling_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end, __gnu_parallel::parallel_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end, __gnu_parallel::quicksort_tag__parallelism)
       template<typename _RAIter > voidsort (_RAIter __begin, _RAIter __end, __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare > voidsort (_RAIter __begin, _RAIter __end, _Compare
           __comp)
       template<typename _RAIter , typename _Compare > voidsort (_RAIter __begin, _RAIter __end, _Compare
           __comp, __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare , typename _Parallelism > voidsort (_RAIter __begin,
           _RAIter __end, _Compare __comp, _Parallelism __parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::balanced_quicksort_tag__parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::default_parallel_tag__parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::multiway_mergesort_tag__parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::parallel_tag__parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::quicksort_tag__parallelism)
       template<typename _RAIter > voidstable_sort (_RAIter __begin, _RAIter __end,
           __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare > voidstable_sort (_RAIter __begin, _RAIter __end,
           _Compare __comp)
       template<typename _RAIter , typename _Compare > voidstable_sort (_RAIter __begin, _RAIter __end,
           _Compare __comp, __gnu_parallel::sequential_tag)
       template<typename _RAIter , typename _Compare , typename _Parallelism > voidstable_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 > _OItertransform (_IIter, _IIter,
           _OIter, _UnaryOperation)
       template<typename_IIter , typename_OIter , typename_UnaryOperation > _OItertransform (_IIter, _IIter,
           _OIter, _UnaryOperation, __gnu_parallel::_Parallelism)
       template<typename_IIter , typename_OIter , typename_UnaryOperation > _OItertransform (_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 > _OItertransform
           (_IIter1, _IIter1, _IIter2, _OIter, _BiOperation)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename_BiOperation > _OItertransform
           (_IIter1, _IIter1, _IIter2, _OIter, _BiOperation, __gnu_parallel::_Parallelism)
       template<typename_IIter1 , typename_IIter2 , typename_OIter , typename_BiOperation > _OItertransform
           (_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 > _OIterunique_copy (_IIter, _IIter, _OIter)
       template<typename_IIter , typename_OIter > _OIterunique_copy (_IIter, _IIter, _OIter,
           __gnu_parallel::sequential_tag)
       template<typename_IIter , typename_OIter , typename _Predicate > _OIterunique_copy (_IIter, _IIter,
           _OIter, _Predicate)
       template<typename_IIter , typename_OIter , typename _Predicate > _OIterunique_copy (_IIter, _IIter,
           _OIter, _Predicate, __gnu_parallel::sequential_tag)

See Also