Condividi tramite


copy_if

In un intervallo di elementi, copia gli elementi che sono true per la condizione specificata.

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

Parametri

  • _First
    Un iteratore di input che indica l'inizio di un intervallo al controllo della condizione.

  • _Last
    Un iteratore di input che indica la fine dell'intervallo.

  • _Dest
    Un iteratore di output che indica la destinazione per gli elementi copiati.

  • _Pred
    La condizione in cui ogni elemento nell'intervallo viene testato.Questa condizione è fornita da un oggetto definito dall'utente di funzione predicativa.Un predicato accetta un argomento e restituisce true o false.

Valore restituito

Un iteratore di output che equivale a _Dest ha incrementato una volta per ogni elemento che soddisfa la condizione.Ovvero il valore restituito meno _Dest è uguale al numero di elementi copiati.

Note

La funzione di modello valuta

if (_Pred(*_First + N))

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

una volta per ogni N nell'intervallo [0,_Last - _First), per i valori esclusivamente aumentare N che iniziano con il valore più basso.Se _Dest e definire le aree _First di archiviazione, _Dest non devono trovarsi nell'intervallo [_First,_Last).

Requisiti

intestazione: <algorithm>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

Libreria di modelli standard