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