title: What is return value from std::vector erase operator, according to the standard?
body: <p>I prefer to get info from the source, for this case this is ISO-IEC 14882,
  where erase method is described as the following:</p>
  <blockquote>
  <p>&quot;iterator erase(const_iterator position);<br />
  iterator erase(const_iterator first, const_iterator last);</p>
  <p>Effects: Invalidates
  iterators and references at or after the point of the erase.</p>
  <p>Complexity: The destructor of T is called the number of times equal to
  the number of the elements erased, but the move assignment operator of
  T is called the number of times equal to the number of elements in the
  vector after the erased elements.</p>
  <p>Throws: Nothing unless an exception
  is thrown by the copy constructor, move constructor, assignment
  operator, or move assignment operator of T.&quot;</p>
  </blockquote>
  <p>Can't find information about returned iterator,
  of course, I Googled and got:</p>
  <blockquote>
  <p>An iterator pointing to the new location of the element that followed
  the last element erased by the function call</p>
  </blockquote>
  <p>Can't understand there this is described in the standard<br />
  Could you point me on it?</p>
  <p><strong>Update:</strong> my question is not about how <code>vector::erase</code> works,<br />
  but rather from where in the standard, as I accept as reliable source of information we can deduce information about returned value</p>