Various funstions are included for debugging the string class.
All assign methods (including operator=) invalidate all iterators.
If capacity is not exceeded no iterators are invalidated, else all iterators are invalidated.
Only the iterators to the erased element is invalidated.
If capacity is not exceeded iterators to elements beyond the insertion point are invalidated, else all iterators are invalidated.
Iterators to elements at and beyond the erased elements are invalidated.
If capacity is exceeded all iterators are invalidated, else iterators to any erased elements are invalidated.
Invalidates all iterators.
Iterators remain valid, but they now point into the swapped container.
The index operator is range checked just like the at() method.