Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::replace_copy_if_fn Struct Reference

Public Member Functions

template<typename I , typename S , typename O , typename C , typename T , typename P = identity>
auto operator() (I begin, S end, O out, C pred, T const &new_value, P proj={}) const -> replace_copy_if_result< I, O > requires input_iterator< I > &&sentinel_for< S, I > &&output_iterator< O, T const & > &&indirect_unary_predicate< C, projected< I, P >> &&indirectly_copyable< I, O >
 
template<typename Rng , typename O , typename C , typename T , typename P = identity>
auto operator() (Rng &&rng, O out, C pred, T const &new_value, P proj={}) const -> replace_copy_if_result< safe_iterator_t< Rng >, O > requires input_range< Rng > &&output_iterator< O, T const & > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P >> &&indirectly_copyable< iterator_t< Rng >, O >