copy_if

Em um intervalo de elementos, copia os elementos que são true para a condição especificada.

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

Parâmetros

  • _First
    Um iterador de entrada que indica o início de um intervalo para verificar a condição.

  • _Last
    Um iterador de entrada que indica o fim do intervalo.

  • _Dest
    O iterador de saída que indica o destino para elementos copiados.

  • _Pred
    A condição em que cada elemento no intervalo é testada.Essa circunstância é fornecida por um objeto definido pelo usuário da função de predicado.Um predicado usa um argumento e retorna true ou false.

Valor de retorno

Um iterador de saída que igualasse _Dest incrementou uma vez para cada elemento que satisfaz a condição.Ou seja o valor de retorno menos _Dest é igual ao número de elementos copiados.

Comentários

A função do modelo avalia

if (_Pred(*_First + N))

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

uma vez para cada N no intervalo [0,_Last - _First), para valores estritamente de aumento de N que começam com o valor menor.Se _Dest e regiões designadas de _First de armazenamento, _Dest não devem estar no intervalo [_First,_Last).

Requisitos

Cabeçalho: <algorithm>

namespace: STD

Consulte também

Referência

Standard Template Library