func_output_iter_ref.rst 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. Header
  5. ......
  6. ::
  7. #include <boost/function_output_iterator.hpp>
  8. ::
  9. template <class UnaryFunction>
  10. class function_output_iterator {
  11. public:
  12. typedef std::output_iterator_tag iterator_category;
  13. typedef void value_type;
  14. typedef void difference_type;
  15. typedef void pointer;
  16. typedef void reference;
  17. explicit function_output_iterator();
  18. explicit function_output_iterator(const UnaryFunction& f);
  19. /* see below */ operator*();
  20. function_output_iterator& operator++();
  21. function_output_iterator& operator++(int);
  22. private:
  23. UnaryFunction m_f; // exposition only
  24. };
  25. ``function_output_iterator`` requirements
  26. .........................................
  27. ``UnaryFunction`` must be Assignable and Copy Constructible.
  28. ``function_output_iterator`` models
  29. ...................................
  30. ``function_output_iterator`` is a model of the Writable and
  31. Incrementable Iterator concepts.
  32. ``function_output_iterator`` operations
  33. .......................................
  34. ``explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());``
  35. :Effects: Constructs an instance of ``function_output_iterator``
  36. with ``m_f`` constructed from ``f``.
  37. ``operator*();``
  38. :Returns: An object ``r`` of unspecified type such that ``r = t``
  39. is equivalent to ``m_f(t)`` for all ``t``.
  40. ``function_output_iterator& operator++();``
  41. :Returns: ``*this``
  42. ``function_output_iterator& operator++(int);``
  43. :Returns: ``*this``