Partager via


copy_if

Dans une plage d'éléments, copie les éléments qui sont true pour la condition spécifiée.

template<class InputIterator, class OutputIterator, class BinaryPredicate>
   OutputIterator copy_if(
      InputIterator _First, 
      InputIterator _Last,
      OutputIterator _Dest,
      Predicate _Pred
    );

Paramètres

  • _First
    Un itérateur d'entrée qui indique le début d'une plage de vérification de la condition.

  • _Last
    Un itérateur d'entrée qui indique la fin de la plage.

  • _Dest
    L'itérateur de sortie qui indique la destination des éléments copiés.

  • _Pred
    La condition sur laquelle chaque élément dans la plage est testé. Cette condition est fournie par un objet de fonction de prédicat définie par l'utilisateur . Un attribut prend un argument et retourne true ou false.

Valeur de retour

Un itérateur de sortie qui est égal à _Dest est incrémenté une fois pour chaque élément qui remplit la condition. En d'autres termes, la valeur de retour moins _Dest égale au nombre d'éléments copiés.

Notes

La fonction de modèle évalue

if (_Pred(*_First + N))

*_Dest++ = *(_First + N))

une fois pour chaque N dans la plage [0, _Last - _First), pour augmenter strictement des valeurs de N en commençant par la valeur la plus faible. Si _Dest et _First désigne des zones de stockage, _Dest ne doivent pas être comprise dans la plage [_First, _Last).

Configuration requise

En-tête : <algorithme>

Espace de noms : std

Voir aussi

Référence

Bibliothèque STL (Standard Template Library)