copy_if
Visual Studio 2012
In a range of elements, copies the elements that are true for the specified condition.
template<class InputIterator, class OutputIterator, class BinaryPredicate>
OutputIterator copy_if(
InputIterator _First,
InputIterator _Last,
OutputIterator _Dest,
Predicate _Pred
);
The template function evaluates
if ( _Pred (* _First + N))
* _Dest ++ = *( _First + N))
once for each N in the range [0, _Last - _First), for strictly increasing values of N starting with the lowest value. If _Dest and _First designate regions of storage, _Dest must not be in the range [_First, _Last).