+ template <class InputIterator>
+ void assign(InputIterator first, InputIterator last)
+ {
+ clear();
+
+ // Notice that it would be nice to call reserve() here but we can't do
+ // it for arbitrary input iterators, we should have a dispatch on
+ // iterator type and call it if possible.
+
+ for ( InputIterator it = first; it != last; ++it )
+ push_back(*it);
+ }
+