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 à verificação da condição._Last
Um iterador de entrada que indica a extremidade do intervalo._Dest
O iterador de saída que indica o destino dos elementos copiados._Pred
A condição em que cada elemento no intervalo é testado. Esta condição é fornecida por um objeto definido pelo usuário da função do 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 atenda à condição. Ou é o valor de retorno menos _Dest é igual ao número de elementos copiados.
Comentários
A função avalia do modelo
if (_Pred(*_First + N))
*_Dest++ = *(_First + N))
uma vez para cada N no intervalo [0, _Last - _First), para valores estritamente crescentes N iniciando pelo valor mais baixo. Se _Dest e _First designar regiões de armazenamento, _Dest não deve estar no intervalo [_First, _Last).
Requisitos
Cabeçalho: <algoritmo>
Namespace: std