# algo.h File Reference

Parallel STL function calls corresponding to the stl_algo.h header. More...

Go to the source code of this file.

## Classes

- struct std::__parallel::c_rand_number< must_be_int >
    Functor wrapper for std::rand(). More...

## Namespaces

- namespace std
- namespace std::__parallel

## Defines

- #define _GLIBCXX_PARALLEL_ALGO_H

## Functions

- template<typename ForwardIterator , typename BinaryPredicate > ForwardIterator std::__parallel::adjacent_find (ForwardIterator begin, ForwardIterator end, BinaryPredicate pred)
- template<typename ForwardIterator > ForwardIterator std::__parallel::adjacent_find (ForwardIterator begin, ForwardIterator end)
- template<typename ForwardIterator , typename BinaryPredicate > ForwardIterator std::__parallel::adjacent_find (ForwardIterator begin, ForwardIterator end, BinaryPredicate binary_pred, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator > ForwardIterator std::__parallel::adjacent_find (ForwardIterator begin, ForwardIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename BinaryPredicate > RandomAccessIterator std::__parallel::adjacent_find_switch (RandomAccessIterator begin, RandomAccessIterator end, BinaryPredicate pred, random_access_iterator_tag)
- template<typename ForwardIterator , typename BinaryPredicate , typename IteratorTag > ForwardIterator std::__parallel::adjacent_find_switch (ForwardIterator begin, ForwardIterator end, BinaryPredicate pred, IteratorTag)
- template<typename ForwardIterator , typename IteratorTag > ForwardIterator std::__parallel::adjacent_find_switch (ForwardIterator begin, ForwardIterator end, IteratorTag)
- template<typename RandomAccessIterator > RandomAccessIterator std::__parallel::adjacent_find_switch (RandomAccessIterator begin, RandomAccessIterator end, random_access_iterator_tag)
- template<typename InputIterator , typename T > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count (InputIterator begin, InputIterator end, const T &value)
- template<typename InputIterator , typename T > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count (InputIterator begin, InputIterator end, const T &value, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename InputIterator , typename T > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count (InputIterator begin, InputIterator end, const T &value, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename Predicate > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count_if (InputIterator begin, InputIterator end, Predicate pred)
- template<typename InputIterator , typename Predicate > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count_if (InputIterator begin, InputIterator end, Predicate pred, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename InputIterator , typename Predicate > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count_if (InputIterator begin, InputIterator end, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename Predicate , typename IteratorTag > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count_if_switch (InputIterator begin, InputIterator end, Predicate pred, IteratorTag)
- template<typename RandomAccessIterator , typename Predicate > iterator_traits
  < RandomAccessIterator >
  ::difference_type std::__parallel::count_if_switch (RandomAccessIterator begin, RandomAccessIterator end, Predicate pred, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_unbalanced)
- template<typename InputIterator , typename T , typename IteratorTag > iterator_traits< InputIterator >
  ::difference_type std::__parallel::count_switch (InputIterator begin, InputIterator end, const T &value, IteratorTag)
- template<typename RandomAccessIterator , typename T > iterator_traits
  < RandomAccessIterator >
  ::difference_type std::__parallel::count_switch (RandomAccessIterator begin, RandomAccessIterator end, const T &value, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_unbalanced)
- template<typename InputIterator , typename T > InputIterator std::__parallel::find (InputIterator begin, InputIterator end, const T &val)
- template<typename InputIterator , typename T > InputIterator std::__parallel::find (InputIterator begin, InputIterator end, const T &val, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename ForwardIterator > InputIterator std::__parallel::find_first_of (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2)
- template<typename InputIterator , typename ForwardIterator , typename BinaryPredicate > InputIterator std::__parallel::find_first_of (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2, BinaryPredicate comp)
- template<typename InputIterator , typename ForwardIterator , typename BinaryPredicate > InputIterator std::__parallel::find_first_of (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2, BinaryPredicate comp, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename ForwardIterator > InputIterator std::__parallel::find_first_of (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename ForwardIterator , typename BinaryPredicate , typename IteratorTag1 , typename IteratorTag2 > InputIterator std::__parallel::find_first_of_switch (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2, BinaryPredicate comp, IteratorTag1, IteratorTag2)
- template<typename RandomAccessIterator , typename ForwardIterator , typename BinaryPredicate , typename IteratorTag > RandomAccessIterator std::__parallel::find_first_of_switch (RandomAccessIterator begin1, RandomAccessIterator end1, ForwardIterator begin2, ForwardIterator end2, BinaryPredicate comp, random_access_iterator_tag, IteratorTag)
- template<typename InputIterator , typename ForwardIterator , typename IteratorTag1 , typename IteratorTag2 > InputIterator std::__parallel::find_first_of_switch (InputIterator begin1, InputIterator end1, ForwardIterator begin2, ForwardIterator end2, IteratorTag1, IteratorTag2)
- template<typename InputIterator , typename Predicate > InputIterator std::__parallel::find_if (InputIterator begin, InputIterator end, Predicate pred)
- template<typename InputIterator , typename Predicate > InputIterator std::__parallel::find_if (InputIterator begin, InputIterator end, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Predicate > RandomAccessIterator std::__parallel::find_if_switch (RandomAccessIterator begin, RandomAccessIterator end, Predicate pred, random_access_iterator_tag)
- template<typename InputIterator , typename Predicate , typename IteratorTag > InputIterator std::__parallel::find_if_switch (InputIterator begin, InputIterator end, Predicate pred, IteratorTag)
- template<typename RandomAccessIterator , typename T > RandomAccessIterator std::__parallel::find_switch (RandomAccessIterator begin, RandomAccessIterator end, const T &val, random_access_iterator_tag)
- template<typename InputIterator , typename T , typename IteratorTag > InputIterator std::__parallel::find_switch (InputIterator begin, InputIterator end, const T &val, IteratorTag)
- template<typename Iterator , typename Function > Function std::__parallel::for_each (Iterator begin, Iterator end, Function f)
- template<typename Iterator , typename Function > Function std::__parallel::for_each (Iterator begin, Iterator end, Function f, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename InputIterator , typename Function > Function std::__parallel::for_each (InputIterator begin, InputIterator end, Function f, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Function > Function std::__parallel::for_each_switch (RandomAccessIterator begin, RandomAccessIterator end, Function f, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename InputIterator , typename Function , typename IteratorTag > Function std::__parallel::for_each_switch (InputIterator begin, InputIterator end, Function f, IteratorTag)
- template<typename ForwardIterator , typename Generator > void std::__parallel::generate (ForwardIterator begin, ForwardIterator end, Generator gen)
- template<typename ForwardIterator , typename Generator > void std::__parallel::generate (ForwardIterator begin, ForwardIterator end, Generator gen, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator , typename Generator > void std::__parallel::generate (ForwardIterator begin, ForwardIterator end, Generator gen, __gnu_parallel::sequential_tag)
- template<typename OutputIterator , typename Size , typename Generator > OutputIterator std::__parallel::generate_n (OutputIterator begin, Size n, Generator gen)
- template<typename OutputIterator , typename Size , typename Generator > OutputIterator std::__parallel::generate_n (OutputIterator begin, Size n, Generator gen, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename OutputIterator , typename Size , typename Generator > OutputIterator std::__parallel::generate_n (OutputIterator begin, Size n, Generator gen, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Size , typename Generator > RandomAccessIterator std::__parallel::generate_n_switch (RandomAccessIterator begin, Size n, Generator gen, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename OutputIterator , typename Size , typename Generator , typename IteratorTag > OutputIterator std::__parallel::generate_n_switch (OutputIterator begin, Size n, Generator gen, IteratorTag)
- template<typename RandomAccessIterator , typename Generator > void std::__parallel::generate_switch (RandomAccessIterator begin, RandomAccessIterator end, Generator gen, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename ForwardIterator , typename Generator , typename IteratorTag > void std::__parallel::generate_switch (ForwardIterator begin, ForwardIterator end, Generator gen, IteratorTag)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end, Comparator comp)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end, Comparator comp, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end)
- template<typename ForwardIterator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator > ForwardIterator std::__parallel::max_element (ForwardIterator begin, ForwardIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Comparator > RandomAccessIterator std::__parallel::max_element_switch (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename ForwardIterator , typename Comparator , typename IteratorTag > ForwardIterator std::__parallel::max_element_switch (ForwardIterator begin, ForwardIterator end, Comparator comp, IteratorTag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::merge (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Comparator > OutputIterator std::__parallel::merge (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Comparator comp)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Comparator > OutputIterator std::__parallel::merge (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::merge (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Comparator > OutputIterator std::__parallel::merge_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Comparator comp, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Comparator , typename IteratorTag1 , typename IteratorTag2 , typename IteratorTag3 > OutputIterator std::__parallel::merge_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Comparator comp, IteratorTag1, IteratorTag2, IteratorTag3)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end, Comparator comp)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end, Comparator comp, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end)
- template<typename ForwardIterator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator , typename Comparator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator > ForwardIterator std::__parallel::min_element (ForwardIterator begin, ForwardIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Comparator > RandomAccessIterator std::__parallel::min_element_switch (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename ForwardIterator , typename Comparator , typename IteratorTag > ForwardIterator std::__parallel::min_element_switch (ForwardIterator begin, ForwardIterator end, Comparator comp, IteratorTag)
- template<typename RandomAccessIterator > void std::__parallel::nth_element (RandomAccessIterator begin, RandomAccessIterator nth, RandomAccessIterator end)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::nth_element (RandomAccessIterator begin, RandomAccessIterator nth, RandomAccessIterator end, Comparator comp)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::nth_element (RandomAccessIterator begin, RandomAccessIterator nth, RandomAccessIterator end, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator > void std::__parallel::nth_element (RandomAccessIterator begin, RandomAccessIterator nth, RandomAccessIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator > void std::__parallel::partial_sort (RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end)
- template<typename RandomAccessIterator , typename _Compare > void std::__parallel::partial_sort (RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end, _Compare comp)
- template<typename RandomAccessIterator > void std::__parallel::partial_sort (RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename _Compare > void std::__parallel::partial_sort (RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end, _Compare comp, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename Predicate > ForwardIterator std::__parallel::partition (ForwardIterator begin, ForwardIterator end, Predicate pred)
- template<typename ForwardIterator , typename Predicate > ForwardIterator std::__parallel::partition (ForwardIterator begin, ForwardIterator end, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Predicate > RandomAccessIterator std::__parallel::partition_switch (RandomAccessIterator begin, RandomAccessIterator end, Predicate pred, random_access_iterator_tag)
- template<typename ForwardIterator , typename Predicate , typename IteratorTag > ForwardIterator std::__parallel::partition_switch (ForwardIterator begin, ForwardIterator end, Predicate pred, IteratorTag)
- template<typename RandomAccessIterator , typename RandomNumberGenerator > void std::__parallel::random_shuffle (RandomAccessIterator begin, RandomAccessIterator end, RandomNumberGenerator &rand)
- template<typename RandomAccessIterator > void std::__parallel::random_shuffle (RandomAccessIterator begin, RandomAccessIterator end)
- template<typename RandomAccessIterator , typename RandomNumberGenerator > void std::__parallel::random_shuffle (RandomAccessIterator begin, RandomAccessIterator end, RandomNumberGenerator &rand, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator > void std::__parallel::random_shuffle (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename T > void std::__parallel::replace (ForwardIterator begin, ForwardIterator end, const T &old_value, const T &new_value)
- template<typename ForwardIterator , typename T > void std::__parallel::replace (ForwardIterator begin, ForwardIterator end, const T &old_value, const T &new_value, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator , typename T > void std::__parallel::replace (ForwardIterator begin, ForwardIterator end, const T &old_value, const T &new_value, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename Predicate , typename T > void std::__parallel::replace_if (ForwardIterator begin, ForwardIterator end, Predicate pred, const T &new_value)
- template<typename ForwardIterator , typename Predicate , typename T > void std::__parallel::replace_if (ForwardIterator begin, ForwardIterator end, Predicate pred, const T &new_value, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename ForwardIterator , typename Predicate , typename T > void std::__parallel::replace_if (ForwardIterator begin, ForwardIterator end, Predicate pred, const T &new_value, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Predicate , typename T > void std::__parallel::replace_if_switch (RandomAccessIterator begin, RandomAccessIterator end, Predicate pred, const T &new_value, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename ForwardIterator , typename Predicate , typename T , typename IteratorTag > void std::__parallel::replace_if_switch (ForwardIterator begin, ForwardIterator end, Predicate pred, const T &new_value, IteratorTag)
- template<typename RandomAccessIterator , typename T > void std::__parallel::replace_switch (RandomAccessIterator begin, RandomAccessIterator end, const T &old_value, const T &new_value, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename ForwardIterator , typename T , typename IteratorTag > void std::__parallel::replace_switch (ForwardIterator begin, ForwardIterator end, const T &old_value, const T &new_value, IteratorTag)
- template<typename ForwardIterator1 , typename ForwardIterator2 , typename BinaryPredicate > ForwardIterator1 std::__parallel::search (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2, BinaryPredicate pred)
- template<typename ForwardIterator1 , typename ForwardIterator2 , typename BinaryPredicate > ForwardIterator1 std::__parallel::search (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2, BinaryPredicate pred, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator1 , typename ForwardIterator2 > ForwardIterator1 std::__parallel::search (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2)
- template<typename ForwardIterator1 , typename ForwardIterator2 > ForwardIterator1 std::__parallel::search (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename Integer , typename T , typename BinaryPredicate > ForwardIterator std::__parallel::search_n (ForwardIterator begin, ForwardIterator end, Integer count, const T &val, BinaryPredicate binary_pred)
- template<typename ForwardIterator , typename Integer , typename T > ForwardIterator std::__parallel::search_n (ForwardIterator begin, ForwardIterator end, Integer count, const T &val)
- template<typename ForwardIterator , typename Integer , typename T , typename BinaryPredicate > ForwardIterator std::__parallel::search_n (ForwardIterator begin, ForwardIterator end, Integer count, const T &val, BinaryPredicate binary_pred, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename Integer , typename T > ForwardIterator std::__parallel::search_n (ForwardIterator begin, ForwardIterator end, Integer count, const T &val, __gnu_parallel::sequential_tag)
- template<typename ForwardIterator , typename Integer , typename T , typename BinaryPredicate , typename IteratorTag > ForwardIterator std::__parallel::search_n_switch (ForwardIterator begin, ForwardIterator end, Integer count, const T &val, BinaryPredicate binary_pred, IteratorTag)
- template<typename RandomAccessIterator , typename Integer , typename T , typename BinaryPredicate > RandomAccessIterator std::__parallel::search_n_switch (RandomAccessIterator begin, RandomAccessIterator end, Integer count, const T &val, BinaryPredicate binary_pred, random_access_iterator_tag)
- template<typename ForwardIterator1 , typename ForwardIterator2 , typename BinaryPredicate , typename IteratorTag1 , typename IteratorTag2 > ForwardIterator1 std::__parallel::search_switch (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2, BinaryPredicate pred, IteratorTag1, IteratorTag2)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename BinaryPredicate > RandomAccessIterator1 std::__parallel::search_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, BinaryPredicate pred, random_access_iterator_tag, random_access_iterator_tag)
- template<typename ForwardIterator1 , typename ForwardIterator2 , typename IteratorTag1 , typename IteratorTag2 > ForwardIterator1 std::__parallel::search_switch (ForwardIterator1 begin1, ForwardIterator1 end1, ForwardIterator2 begin2, ForwardIterator2 end2, IteratorTag1, IteratorTag2)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 > RandomAccessIterator1 std::__parallel::search_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename OutputRandomAccessIterator , typename Predicate > OutputRandomAccessIterator std::__parallel::set_difference_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, OutputRandomAccessIterator result, Predicate pred, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename Predicate , typename OutputIterator , typename IteratorTag1 , typename IteratorTag2 , typename IteratorTag3 > OutputIterator std::__parallel::set_difference_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Predicate pred, IteratorTag1, IteratorTag2, IteratorTag3)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_intersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_intersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_intersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_intersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename OutputRandomAccessIterator , typename Predicate > OutputRandomAccessIterator std::__parallel::set_intersection_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, OutputRandomAccessIterator result, Predicate pred, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename Predicate , typename OutputIterator , typename IteratorTag1 , typename IteratorTag2 , typename IteratorTag3 > OutputIterator std::__parallel::set_intersection_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Predicate pred, IteratorTag1, IteratorTag2, IteratorTag3)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_symmetric_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_symmetric_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_symmetric_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_symmetric_difference (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename OutputRandomAccessIterator , typename Predicate > OutputRandomAccessIterator std::__parallel::set_symmetric_difference_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, OutputRandomAccessIterator result, Predicate pred, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename Predicate , typename OutputIterator , typename IteratorTag1 , typename IteratorTag2 , typename IteratorTag3 > OutputIterator std::__parallel::set_symmetric_difference_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Predicate pred, IteratorTag1, IteratorTag2, IteratorTag3)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_union (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_union (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::set_union (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator > OutputIterator std::__parallel::set_union (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator out, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename OutputRandomAccessIterator , typename Predicate > OutputRandomAccessIterator std::__parallel::set_union_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator2 end2, OutputRandomAccessIterator result, Predicate pred, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename Predicate , typename OutputIterator , typename IteratorTag1 , typename IteratorTag2 , typename IteratorTag3 > OutputIterator std::__parallel::set_union_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, OutputIterator result, Predicate pred, IteratorTag1, IteratorTag2, IteratorTag3)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::balanced_quicksort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::quicksort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::multiway_mergesort_exact_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::multiway_mergesort_sampling_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::multiway_mergesort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::parallel_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::default_parallel_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end)
- template<typename RandomAccessIterator , typename Comparator , typename Parallelism > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, Parallelism parallelism)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator > void std::__parallel::sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::balanced_quicksort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::quicksort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::multiway_mergesort_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::parallel_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::default_parallel_tag parallelism)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end)
- template<typename RandomAccessIterator , typename Comparator , typename Parallelism > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, Parallelism parallelism)
- template<typename RandomAccessIterator , typename Comparator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator > void std::__parallel::stable_sort (RandomAccessIterator begin, RandomAccessIterator end, __gnu_parallel::sequential_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryOperation > OutputIterator std::__parallel::transform (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, OutputIterator result, BinaryOperation binary_op)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryOperation > OutputIterator std::__parallel::transform (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, OutputIterator result, BinaryOperation binary_op, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryOperation > OutputIterator std::__parallel::transform (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, OutputIterator result, BinaryOperation binary_op, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename OutputIterator , typename UnaryOperation > OutputIterator std::__parallel::transform (InputIterator begin, InputIterator end, OutputIterator result, UnaryOperation unary_op)
- template<typename InputIterator , typename OutputIterator , typename UnaryOperation > OutputIterator std::__parallel::transform (InputIterator begin, InputIterator end, OutputIterator result, UnaryOperation unary_op, __gnu_parallel::_Parallelism parallelism_tag)
- template<typename InputIterator , typename OutputIterator , typename UnaryOperation > OutputIterator std::__parallel::transform (InputIterator begin, InputIterator end, OutputIterator result, UnaryOperation unary_op, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename UnaryOperation , typename IteratorTag1 , typename IteratorTag2 > RandomAccessIterator2 std::__parallel::transform1_switch (RandomAccessIterator1 begin, RandomAccessIterator1 end, RandomAccessIterator2 result, UnaryOperation unary_op, IteratorTag1, IteratorTag2)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename UnaryOperation > RandomAccessIterator2 std::__parallel::transform1_switch (RandomAccessIterator1 begin, RandomAccessIterator1 end, RandomAccessIterator2 result, UnaryOperation unary_op, random_access_iterator_tag, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator , typename BinaryOperation , typename tag1 , typename tag2 , typename tag3 > OutputIterator std::__parallel::transform2_switch (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, OutputIterator result, BinaryOperation binary_op, tag1, tag2, tag3)
- template<typename RandomAccessIterator1 , typename RandomAccessIterator2 , typename RandomAccessIterator3 , typename BinaryOperation > RandomAccessIterator3 std::__parallel::transform2_switch (RandomAccessIterator1 begin1, RandomAccessIterator1 end1, RandomAccessIterator2 begin2, RandomAccessIterator3 result, BinaryOperation binary_op, random_access_iterator_tag, random_access_iterator_tag, random_access_iterator_tag, __gnu_parallel::_Parallelism parallelism_tag=__gnu_parallel::parallel_balanced)
- template<typename InputIterator , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::unique_copy (InputIterator begin1, InputIterator end1, OutputIterator out, Predicate pred)
- template<typename InputIterator , typename OutputIterator > OutputIterator std::__parallel::unique_copy (InputIterator begin1, InputIterator end1, OutputIterator out)
- template<typename InputIterator , typename OutputIterator , typename Predicate > OutputIterator std::__parallel::unique_copy (InputIterator begin1, InputIterator end1, OutputIterator out, Predicate pred, __gnu_parallel::sequential_tag)
- template<typename InputIterator , typename OutputIterator > OutputIterator std::__parallel::unique_copy (InputIterator begin1, InputIterator end1, OutputIterator out, __gnu_parallel::sequential_tag)
- template<typename RandomAccessIterator , typename RandomAccessOutputIterator , typename Predicate > RandomAccessOutputIterator std::__parallel::unique_copy_switch (RandomAccessIterator begin, RandomAccessIterator last, RandomAccessOutputIterator out, Predicate pred, random_access_iterator_tag, random_access_iterator_tag)
- template<typename InputIterator , typename OutputIterator , typename Predicate , typename IteratorTag1 , typename IteratorTag2 > OutputIterator std::__parallel::unique_copy_switch (InputIterator begin, InputIterator last, OutputIterator out, Predicate pred, IteratorTag1, IteratorTag2)

## Detailed Description

Parallel STL function calls corresponding to the stl_algo.h header.

The functions defined here mainly do case switches and call the actual parallelized versions in other files. Inlining policy: Functions that basically only contain one function call, are declared inline. This file is a GNU parallel extension to the Standard C++ Library.

Definition in file algo.h.