title: iterate an STL container not from the .begin()ing and wrap around
body: <p>I have an std::vector, let's say of integers for simplicity. </p>
  
  <pre><code>std::vector&lt;int&gt; ivec;
  ivec.push_back(1);
  ivec.push_back(2);
  ... //omitting some push back's 3 to 99
  ivec.push_back(100);
  </code></pre>
  
  <p>The standard way to iterate is known </p>
  
  <pre><code>std::map&lt;int&gt;::iterator it;
  for( it = ivec.begin(); it != ivec.end(); it++ ) 
    print();
  </code></pre>
  
  <p>That iteration will print 1,2,3, ... 100.</p>
  
  <p>I want to traverse all vector elements starting from a predefined index and not from it.begin().
  I would like to print </p>
  
  <blockquote>
    <p>3,4,5,6 ... 99, 100, 1, 2</p>
  </blockquote>
  
  <p>Can you share your thoughts here? </p>
  
  <p>It might ok to do it in two steps</p>
  
  <pre><code>for( it = ivec.begin()+index; it != ivec.end(); it++ ) and then (if index !=0)
  
  for ( it = ivec.begin; it = it = ivec.begin() + (index-1); it++)
  </code></pre>