Freigeben über


copy_if

In einem Bereich Kopien von Elementen, die 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 für die kopierten Elemente angibt.

  • _Pred
    Die Bedingung, die für jedes Element im Bereich getestet wird.Diese Bedingung wird von einem benutzerdefinierten Prädikatfunktionsobjekt bereitgestellt.Ein Prädikat übernimmt 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 _Dest minus der Anzahl der kopierten Elemente.

Hinweise

Die Vorlagenfunktion wertet aus

if (_Pred(*_First + N))

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

einmal für jedes N im Bereich [0,_Last - _First), für ausschließlich erhöht Werte von N beginnend mit dem niedrigsten Wert.Wenn _Dest und besondere Bereiche _First des Speichers, _Dest nicht im Bereich [_First,_Last) sein dürfen.

Anforderungen

Header: <algorithm>

Namespace: std

Siehe auch

Referenz

Standardvorlagenbibliothek