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)
10 #include <boost/function_output_iterator.hpp>
14 template <class UnaryFunction>
15 class function_output_iterator {
17 typedef std::output_iterator_tag iterator_category;
18 typedef void value_type;
19 typedef void difference_type;
21 typedef void reference;
23 explicit function_output_iterator();
25 explicit function_output_iterator(const UnaryFunction& f);
27 /* see below */ operator*();
28 function_output_iterator& operator++();
29 function_output_iterator& operator++(int);
31 UnaryFunction m_f; // exposition only
36 ``function_output_iterator`` requirements
37 .........................................
39 ``UnaryFunction`` must be Assignable and Copy Constructible.
43 ``function_output_iterator`` models
44 ...................................
46 ``function_output_iterator`` is a model of the Writable and
47 Incrementable Iterator concepts.
51 ``function_output_iterator`` operations
52 .......................................
54 ``explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());``
56 :Effects: Constructs an instance of ``function_output_iterator``
57 with ``m_f`` constructed from ``f``.
62 :Returns: An object ``r`` of unspecified type such that ``r = t``
63 is equivalent to ``m_f(t)`` for all ``t``.
66 ``function_output_iterator& operator++();``
71 ``function_output_iterator& operator++(int);``