title: Is the capacity required to be preserved when moving a std::vector?
body: <p>Consider the following code:</p>
  
  <pre><code>std::vector vec;
  vec.reserve(500);
  size_t cap = vec.capacity();
  
  std::vector newVec = std::move(vec);
  assert(cap == newVec.capacity());
  </code></pre>
  
  <p>In pretty much any implementation you run across, this will work. I don't care about what implementations do. I want to know what the standard <em>requires</em>. Will the moved-to <code>vector</code> have the same capacity as the original? Or will the assert trigger?</p>