| Category: algorithms | Component type: function |
template <class ForwardIterator class T> void fill(ForwardIterator first ForwardIterator last const T& value);
vector<double> V(4); fill(V.begin() V.end() 137); assert(V[0] == 137 && V[1] == 137 && V[2] == 137 && V[3] == 137);
[1] The reason that fill requires its argument to be a mutable forward iterator rather than merely an output iterator is that it uses a range [first last) of iterators. There is no sensible way to describe a range of output iterators because it is impossible to compare two output iterators for equality. The fill_n algorithm does have an interface that permits use of an output iterator.