title: Exception safe code and move semantics
body: <p>I want to write container class. This container has insert method that have two specializations - first uses copy constructors to copy data from one container to another container element wise. If copy constructor throws exception I just undo all changes to the container like nothing happens. </p>
  
  <p>The second specialization uses move constructor and thats the place where things got complicated. When I move items from one container to another container element by element, move constructor can throw exception. If this happens - I've got really messy state when some elements are moved and other elements stays in it's original places. If I try to move elements back - I can get another exception.</p>
  
  <p>Is it possible to write something like this in exception safe manner or exception safety and move semantics are mutually exclusive?</p>