title: What's the difference between a Boost Single Pass Iterator and a Forward Traversal Iterator?
body: <p>In the <a href="http://www.boost.org/doc/libs/1_48_0/libs/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal" rel="noreferrer">New Iterator Concepts standard proposal</a>, I am not able to decipher any useful difference between a Single Pass Iterator and a Forward Traversal Iterator.</p>
  
  <p>Does the "Assertion/Note" for the "++r" row in the Forward Traversal table imply that Forward Traversal Iterators are copyable, whereas Single Pass Iterators are not?</p>
  
  <p>Additionally, why does the additional ability to default-construct make an iterator model Forward Traversal? What's the rationale?</p>