Unless specified containers meet these requirements.

If an exception is thrown by an insert() function while inserting a single element, that function has no effects.

If an exception is thrown by a push_back() or push_front() function, that function has no effects.

The member functions erase(), pop_back() or pop_front() do not throw an exception.

None of the copy constructors or assignment operators of a returned iterator throw an exception.

The member function swap() does not throw an exception, Except if an exception is thrown by the copy constructor or assignment operator of the container's compare object.

The member function swap() does not invalidate any references, pointers, or iterators referring to the elements of the containers being swapped.