Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
remove
Prototype

template<
    class ForwardRange,
    class Value
    >
typename range_iterator<ForwardRange>::type
remove(ForwardRange& rng, const Value& val);

template<
    class ForwardRange,
    class Value
    >
typename range_iterator<const ForwardRange>::type
remove(const ForwardRange& rng, const Value& val);

template<
    range_return_value re,
    class ForwardRange,
    class Value
    >
typename range_return<ForwardRange,re>::type
remove(ForwardRange& rng, const Value& val);

template<
    range_return_value re,
    class ForwardRange,
    class Value
    >
typename range_return<const ForwardRange,re>::type
remove(const ForwardRange& rng, const Value& val);

Description

remove removes from rng all of the elements x for which x == val is true. The versions of remove that return an iterator, return an iterator new_last such that the range [begin(rng), new_last) contains no elements equal to val. The range_return versions of remove defines found as the new last element. The iterators in the range [new_last, end(rng)) are dereferenceable, but the elements are unspecified.

Definition

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

Requirements
Complexity

Linear. remove performs exactly distance(rng) comparisons for equality.


PrevUpHomeNext