[section:replaced replaced]

[table
    [[Syntax] [Code]]
    [[Pipe] [`rng | boost::adaptors::replaced(new_value, old_value)`]]
    [[Function] [`boost::adaptors::replace(rng, new_value, old_value)`]]
]

* [*Precondition:]
    * `new_value` is convertible to the `value_type` of the range.
    * `old_value` is convertible to the `value_type` of the range.
* [*Postcondition:] For all elements `x` in the returned range, the value `x` is equal to the value of `(y == old_value) ? new_value : y` where `y` is the corresponding element in the original range.
* [*Range Category:] __forward_range__
* [*Returned Range Category:] The range category of `rng`.

[section:replaced_example replaced example]
``
#include <boost/range/adaptor/replaced.hpp>
#include <boost/range/algorithm/copy.hpp>
#include <boost/assign.hpp>
#include <algorithm>
#include <iostream>
#include <vector>

int main(int argc, const char* argv[])
{
    using namespace boost::adaptors;
    using namespace boost::assign;

    std::vector<int> input;
    input += 1,2,3,2,5,2,7,2,9;

    boost::copy(
        input | replaced(2, 10),
        std::ostream_iterator<int>(std::cout, ","));

    return 0;
}
``
[endsect]

This would produce the output:
``
1,10,3,10,5,10,7,10,9
``
[endsect]


