title: Efficient circular list
body: <p>I want a simple yet efficient circular buffer/queue. If I use <code>std::vector</code>, I have to do this:</p>
  
  <pre><code>if ( v.size() &gt;= limit ) {
      std::vector&lt;int&gt; it = v.begin();
      v.insert( it, data );
      v.erase( it+1 );
  }
  </code></pre>
  
  <p>Is there any simpler solution?</p>