Partager via


copy_if

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

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 pour vérifier 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 pour les éléments copiés.

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

Valeur de retour

Un itérateur de sortie qui est _Dest a incrémenté par le passé pour chaque élément qui remplit une 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 a

if (_Pred(*_First + N))

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

une fois pour chaque N dans la plage [0,_Last - _First), pour augmenter strictement des valeurs d' N en commençant par la valeur la plus basse.Si _Dest et les régions attitrées d' _First de la mémoire, _Dest ne doivent pas être comprise entre [_First,_Last).

Configuration requise

en-tête : <algorithm>

l'espace de noms : DST

Voir aussi

Référence

Modèles Standard