copy_if
In einem Bereich von Elementen, die Kopien Elemente, die true für die angegebene Bedingung sind.
template<class InputIterator, class OutputIterator, class BinaryPredicate>
OutputIterator copy_if(
InputIterator _First,
InputIterator _Last,
OutputIterator _Dest,
Predicate _Pred
);
Parameter
_First
Ein Eingabeiterator, der den Anfang eines Bereichs angibt, auf den Zustand zu überprüfen._Last
Ein Eingabeiterator, der das Ende des Bereichs angibt._Dest
Der Ausgabeiterator, der das Ziel der kopierten Elemente angibt._Pred
Die Bedingung, für die einzelnen Elemente im Bereich getestet wird. Diese Bedingung wird von einem benutzerdefinierten Prädikatfunktionsobjekt bereitgestellt. Ein Prädikat akzeptiert ein Argument und gibt true oder false zurück.
Rückgabewert
Ein Ausgabeiterator, der _Dest entspricht, inkrementierte einmal für jedes Element, das die Bedingung erfüllt. Das heißt, entspricht der Rückgabewert minus _Dest der Anzahl der kopierten Elemente.
Hinweise
Die Vorlagenfunktion Evaluate
if (_Pred(*_First + N))
*_Dest++ = *(_First + N))
einmal für jedes N im Bereich [0, _Last - _First) bei strikt ansteigenden Werten von N, beginnend mit dem niedrigsten Wert. Wenn mit _Dest und _First Bereiche des Speichers bestimmt werden, darf _Dest nicht im Bereich [_First, _Last) liegen.
Anforderungen
Header: <algorithm>
Namespace: std