Additional Requirements

The iterator returned from a.erase(q) points to the element immediately following q prior to the element being erased.

If no prior element exists for a.erase then a.end() is returned.

For every sequence defined in this clause the constructor

  template <class InputIterator>
  X(InputIterator f, InputIterator l, 
    const Allocator& a = Allocator())
  

Member functions in the forms:

  template <class InputIterator> 
  rt fx1(iterator p, InputIterator f, InputIterator l); 
  template <class InputIterator> 
  rt fx2(InputIterator f, InputIterator l);
  template <class InputIterator>
  rt fx3(iterator i1, iteraror i2, InputIterator f, InputIterator l); 
  

The member function at() provides bounds-checked access to container elements.

The member function at() throws out_of_range if n >= a.size().