Range-v3
Range algorithms, views, and actions for the Standard Library
remove_copy.hpp File Reference

Typedefs

template<typename I , typename O >
using ranges::remove_copy_result = detail::in_out_result< I, O >
 

Functions

template<typename I , typename S , typename O , typename T , typename P = identity>
auto ranges::remove_copy (I first, S last, O out, T const &val, P proj=P{}) -> remove_copy_result< I, O > requires input_iterator< I > &&sentinel_for< S, I > &&weakly_incrementable< O > &&indirect_relation< equal_to, projected< I, P >, T const * > &&indirectly_copyable< I, O >
 function template remove_copy
 
template<typename Rng , typename O , typename T , typename P = identity>
auto ranges::remove_copy (Rng &&rng, O out, T const &val, P proj=P{}) -> remove_copy_result< safe_iterator_t< Rng >, O > requires input_range< Rng > &&weakly_incrementable< O > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, T const * > &&indirectly_copyable< iterator_t< Rng >, O >
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.