35#ifndef _GLIBCXX_PARALLEL_FOR_EACH_H 
   36#define _GLIBCXX_PARALLEL_FOR_EACH_H 1 
   58  template<
typename _IIter, 
typename _UserOp,
 
   59           typename _Functionality, 
typename _Red, 
typename _Result>
 
   63                                      _Functionality& __functionality,
 
   65                                      _Result __reduction_start,
 
   66                                      _Result& __output, 
typename 
   68                                      difference_type __bound,
 
   73          (__begin, __end, __user_op, __functionality, __reduction,
 
   74           __reduction_start, __output, __bound);
 
   77          (__begin, __end, __user_op, __functionality, __reduction,
 
   78           __reduction_start, __output, __bound);
 
   81          (__begin, __end, __user_op, __functionality, __reduction,
 
   82           __reduction_start, __output, __bound);
 
   85          (__begin, __end, __user_op, __functionality, __reduction,
 
   86           __reduction_start, __output, __bound);
 
Parallelization of embarrassingly parallel execution by means of work-stealing.
Runtime settings and tuning parameters, heuristics to decide whether to use parallelized algorithms.
Parallelization of embarrassingly parallel execution by means of equal splitting. This file is a GNU ...
Parallelization of embarrassingly parallel execution by means of an OpenMP for loop....
GNU parallel code for public use.
_UserOp __for_each_template_random_access(_IIter __begin, _IIter __end, _UserOp __user_op, _Functionality &__functionality, _Red __reduction, _Result __reduction_start, _Result &__output, typename std::iterator_traits< _IIter >::difference_type __bound, _Parallelism __parallelism_tag)
Chose the desired algorithm by evaluating __parallelism_tag.
_Op __for_each_template_random_access_ed(_RAIter __begin, _RAIter __end, _Op __o, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Embarrassingly parallel algorithm for random access iterators, using hand-crafted parallelization by ...
_Op __for_each_template_random_access_workstealing(_RAIter __begin, _RAIter __end, _Op __op, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Work stealing algorithm for random access iterators.
_Op __for_each_template_random_access_omp_loop(_RAIter __begin, _RAIter __end, _Op __o, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Embarrassingly parallel algorithm for random access iterators, using an OpenMP for loop.
_Parallelism
Run-time equivalents for the compile-time tags.
@ parallel_omp_loop_static
Parallel with OpenMP static load-balancing.
@ parallel_unbalanced
Parallel unbalanced (equal-sized chunks).
@ parallel_omp_loop
Parallel with OpenMP dynamic load-balancing.
Traits class for iterators.