title: Is it better for performance to use boost::reversed than accessing back to front?
body: <p>Is it better for performance to use <code>boost::adaptors::reverse</code> to access elements in a vector in reversed order instead of the usual <code>v[i-1]</code>?</p>
  <p>I.E.:</p>
  <pre><code>std::vector&lt;int&gt; v {1,2,3,4};
  for (const auto&amp; el : boost::adaptors::reverse(v))
    print(el);
  </code></pre>
  <p>vs</p>
  <pre><code>std::vector&lt;int&gt; v {1,2,3,4};
  for (size_t i = v.size(); i &gt; 0; --i)
    print(v[i - 1]);
  </code></pre>
  <p>My logic would say that is not because reverse has to reverse the vector and then access it one by one and the usual way would load the vector piece in cache and then access the elements in reverse order. I guess that depending on the size of the vector one would be better than the other one, but I don't see why it would as a general rule.</p>