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