Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
parallel_transform, fonction
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

parallel_transform, fonction

Applique un objet spécifié de fonction à chaque élément dans une plage source, ou à une paire d'éléments de deux plages sources, et copie les valeurs de retour de l'objet de fonction dans une plage de destination, en parallèle. Ce func est sémantiquement équivalente à std::transform.

template <
   typename _Input_iterator1,
   typename _Output_iterator,
   typename _Unary_operator
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Output_iterator_Result,
   const _Unary_operator& _Unary_op,
   const auto_partitioner& _Part = auto_partitioner()
);

template <
   typename _Input_iterator1,
   typename _Output_iterator,
   typename _Unary_operator
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Output_iterator_Result,
   const _Unary_operator& _Unary_op,
   const static_partitioner& _Part
);

template <
   typename _Input_iterator1,
   typename _Output_iterator,
   typename _Unary_operator
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Output_iterator_Result,
   const _Unary_operator& _Unary_op,
   const simple_partitioner& _Part
);

template <
   typename _Input_iterator1,
   typename _Output_iterator,
   typename _Unary_operator
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Output_iterator_Result,
   const _Unary_operator& _Unary_op,
   affinity_partitioner& _Part
);

template <
   typename _Input_iterator1,
   typename _Input_iterator2,
   typename _Output_iterator,
   typename _Binary_operator,
   typename _Partitioner
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Input_iterator2_First2,
   _Output_iterator_Result,
   const _Binary_operator& _Binary_op,
   _Partitioner&& _Part
);

template <
   typename _Input_iterator1,
   typename _Input_iterator2,
   typename _Output_iterator,
   typename _Binary_operator
>
_Output_iterator parallel_transform(
   _Input_iterator1_First1,
   _Input_iterator1_Last1,
   _Input_iterator2_First2,
   _Output_iterator_Result,
   const _Binary_operator& _Binary_op
);

_Input_iterator1

Le type du premier ou uniquement itérateur d'entrée.

_Output_iterator

Le type de l'itérateur de sortie.

_Unary_operator

Le type du functor unaire à exécuter sur chaque élément dans la plage d'entrée.

_Input_iterator2

Le type de deuxième itérateur d'entrée.

_Binary_operator

Le type du functor binaire a exécuté par paire sur les éléments des deux plages sources.

_Partitioner
_First1

Un itérateur d'entrée adressant la position du premier élément de la première ou uniquement à la plage source à fonctionner sur.

_Last1

Un itérateur d'entrée adressant la position une au delà de le dernier élément dans la première ou uniquement la plage source à fonctionner sur.

_Result

Un itérateur de sortie adressant la position du premier élément de la plage de destination.

_Unary_op

Un objet unaire défini par l'utilisateur de fonction qui est appliqué à chaque élément de la plage source.

_Part

Une référence à l'objet de partitionneur. L'argument peut être un d' constauto_partitioner&, d' conststatic_partitioner&, d' constsimple_partitioner& ou d' affinity_partitioner& si un objet d' affinity_partitioner est utilisé, la référence doit être une référence non constante lvalue, afin que l'algorithme puisse stocker l'état pour que les futures boucles les réutilisent.

_First2

Un itérateur d'entrée adressant la position du premier élément de la deuxième plage source à fonctionner sur.

_Binary_op

Un objet binaire défini par l'utilisateur de fonction qui est appliqué par paire, dans un ordre en avant, aux deux plages sources.

Un itérateur de sortie adressant la position une au delà de le dernier élément dans la plage de destination qui accepte les éléments de sortie a transformé par l'objet de fonction.

auto_partitioner sera utilisé pour les surcharges sans argument explicite de partitionneur.

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

Les surcharges qui prennent la transformation d' _Unary_op d'argument la plage d'entrée dans la plage de sortie en appliquant le functor unaire à chaque élément de la plage d'entrée. _Unary_op doit prendre en charge l'opérateur d'appel de fonction avec la signature operator()(T)T est le type valeur de la plage est itérée au sein de.

Les surcharges qui prennent la transformation d' _Binary_op d'argument deux plages d'entrée dans la plage de sortie en appliquant le functor binaire à un élément de la première plage d'entrée et à un élément de la deuxième plage d'entrée. _Binary_op doit prendre en charge l'opérateur d'appel de fonction avec la signature operator()(T, U)T, U sont des types valeur des deux itérateurs d'entrée.

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

En-tête : ppl.h

Accès concurrentiel del'espace de noms :

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft