Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

replace_if
PrevUpHomeNext
Prototype

template<class ForwardRange, class UnaryPredicate, class Value>
ForwardRange& replace_if(ForwardRange& rng, UnaryPredicate pred, const Value& with_what);

template<class ForwardRange, class UnaryPredicate, class Value>
const ForwardRange& replace_if(const ForwardRange& rng, UnaryPredicate pred, const Value& with_what);

Description

replace_if replaces every element x in rng for which pred(x) == true with with_what. Returns a reference to rng.

Definition

Defined in the header file boost/range/algorithm/replace_if.hpp

Requirements
  • ForwardRange is a model of the Forward Range Concept.
  • ForwardRange is mutable.
  • UnaryPredicate is a model of the PredicateConcept
  • ForwardRange's value type is convertible to UnaryPredicate's argument type.
  • Value is convertible to ForwardRange's value type.
  • Value is a model of the AssignableConcept.
Complexity

Linear. replace_if performs exactly distance(rng) applications of pred, and at most distance(rng) assignments.


PrevUpHomeNext