Partager via


parallel_for_each, fonction

parallel_for_each applique une fonction spécifiée à chaque élément dans une plage, en parallèle. Elle est sémantiquement équivalente à la fonction for_each dans l'espace de noms std, mais l'itération des éléments est exécutée en parallèle et l'ordre d'itération n'est pas spécifié. L'argument _Func doit prendre en charge un opérateur d'appel de fonction de la forme operator()(T), où le paramètre T est le type d'élément du conteneur sur lequel l'itération est réalisée.

template <
   typename _Iterator,
   typename _Function
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func
);

template <
   typename _Iterator,
   typename _Function,
   typename _Partitioner
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func,
   _Partitioner&& _Part
);

Paramètres

  • _Iterator
    Type de l'itérateur qui est utilisé pour itérer au sein du conteneur.

  • _Function
    Type de la fonction qui sera appliquée à chaque élément dans la plage.

  • _Partitioner

  • _First
    Itérateur qui adresse la position du premier élément à inclure dans l'itération parallèle.

  • _Last
    Itérateur qui adresse la position suivant l'élément final à inclure dans l'itération parallèle.

  • _Func
    Objet de fonction défini par l'utilisateur appliqué à chaque élément dans la plage.

  • _Part
    Référence au partitioneur d'objet . L'argument peut être un de constauto_partitioner&, de conststatic_partitioner&, de constsimple_partitioner& ou de affinity_partitioner&. Si un objet affinity_partitioner est utilisé, la référence doit être une référence l-value non-const , de sorte que l'algorithme puisse signaler l'état des futures boucles de réutilisation.

Notes

auto_partitioner est utilisé pour la surcharge sans un partitioneur explicite.

Pour les itérateurs qui ne prennent pas en charge l'accès aléatoire, seul auto_partitioner est pris en charge.

Pour plus d'informations, consultez Algorithmes parallèles.

Configuration requise

En-tête : ppl.h

Espace de noms : concurrency

Voir aussi

Référence

concurrency, espace de noms