5184d64b80
[SVN r35070]
74 lines
1.7 KiB
ReStructuredText
74 lines
1.7 KiB
ReStructuredText
.. Copyright David Abrahams 2006. Distributed under the Boost
|
|
.. Software License, Version 1.0. (See accompanying
|
|
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
Header
|
|
......
|
|
|
|
::
|
|
|
|
#include <boost/function_output_iterator.hpp>
|
|
|
|
::
|
|
|
|
template <class UnaryFunction>
|
|
class function_output_iterator {
|
|
public:
|
|
typedef std::output_iterator_tag iterator_category;
|
|
typedef void value_type;
|
|
typedef void difference_type;
|
|
typedef void pointer;
|
|
typedef void reference;
|
|
|
|
explicit function_output_iterator();
|
|
|
|
explicit function_output_iterator(const UnaryFunction& f);
|
|
|
|
/* see below */ operator*();
|
|
function_output_iterator& operator++();
|
|
function_output_iterator& operator++(int);
|
|
private:
|
|
UnaryFunction m_f; // exposition only
|
|
};
|
|
|
|
|
|
|
|
``function_output_iterator`` requirements
|
|
.........................................
|
|
|
|
``UnaryFunction`` must be Assignable and Copy Constructible.
|
|
|
|
|
|
|
|
``function_output_iterator`` models
|
|
...................................
|
|
|
|
``function_output_iterator`` is a model of the Writable and
|
|
Incrementable Iterator concepts.
|
|
|
|
|
|
|
|
``function_output_iterator`` operations
|
|
.......................................
|
|
|
|
``explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());``
|
|
|
|
:Effects: Constructs an instance of ``function_output_iterator``
|
|
with ``m_f`` constructed from ``f``.
|
|
|
|
|
|
``operator*();``
|
|
|
|
:Returns: An object ``r`` of unspecified type such that ``r = t``
|
|
is equivalent to ``m_f(t)`` for all ``t``.
|
|
|
|
|
|
``function_output_iterator& operator++();``
|
|
|
|
:Returns: ``*this``
|
|
|
|
|
|
``function_output_iterator& operator++(int);``
|
|
|
|
:Returns: ``*this``
|