/Src/Dependencies/Boost/libs/iterator/doc/SinglePassIterator.rst

http://hadesmem.googlecode.com/ · ReStructuredText · 32 lines · 28 code · 4 blank · 0 comment · 0 complexity · 768800b1e6bac58dcd6d0fd9197cb017 MD5 · raw file

  1. .. Copyright David Abrahams 2006. Distributed under the Boost
  2. .. Software License, Version 1.0. (See accompanying
  3. .. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. Single Pass Iterator Concept
  5. ............................
  6. A class or built-in type ``X`` models the *Single Pass Iterator*
  7. concept if the following expressions are valid and respect the stated
  8. semantics.
  9. +------------------------------------------------------------------------------------------+
  10. |Single Pass Iterator Requirements (in addition to Incrementable Iterator and Equality |
  11. |Comparable) |
  12. +--------------------------------+-----------------------------+---------------------------+
  13. |Expression |Return Type |Assertion/Semantics / |
  14. | | |Pre-/Post-condition |
  15. +================================+=============================+===========================+
  16. |``++r`` |``X&`` |pre: ``r`` is |
  17. | | |dereferenceable; post: |
  18. | | |``r`` is dereferenceable or|
  19. | | |``r`` is past-the-end |
  20. +--------------------------------+-----------------------------+---------------------------+
  21. |``a == b`` |convertible to ``bool`` |``==`` is an equivalence |
  22. | | |relation over its domain |
  23. +--------------------------------+-----------------------------+---------------------------+
  24. |``a != b`` |convertible to ``bool`` |``!(a == b)`` |
  25. +--------------------------------+-----------------------------+---------------------------+
  26. |``iterator_traversal<X>::type`` |Convertible to | |
  27. | |``single_pass_traversal_tag``| |
  28. +--------------------------------+-----------------------------+---------------------------+