LvalueIterator.rst 1.2 KB

12345678910111213141516171819202122232425
  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. Lvalue Iterator Concept
  5. .......................
  6. The *Lvalue Iterator* concept adds the requirement that the return
  7. type of ``operator*`` type be a reference to the value type of the
  8. iterator.
  9. +-------------------------------------------------------------+
  10. | Lvalue Iterator Requirements |
  11. +-------------+-----------+-----------------------------------+
  12. |Expression |Return Type|Note/Assertion |
  13. +=============+===========+===================================+
  14. |``*a`` | ``T&`` |``T`` is *cv* |
  15. | | |``iterator_traits<X>::value_type`` |
  16. | | |where *cv* is an optional |
  17. | | |cv-qualification. |
  18. | | |pre: ``a`` is |
  19. | | |dereferenceable. If ``a |
  20. | | |== b`` then ``*a`` is |
  21. | | |equivalent to ``*b``. |
  22. +-------------+-----------+-----------------------------------+