te
    constructor and a copy-assignment operator. For example, here is a
    possible implementation of <code><a href=
    "../iterator/doc/function_output_iterator.html">boost::function_output_iterator</a></code>
    adaptor:</p>
<pre>
template&lt;class UnaryFunction&gt;
struct function_output_iterator
    : boost::output_iterator_helper&lt; function_output_iterator&lt;UnaryFunction&gt; &gt;
{
    explicit function_output_iterator(UnaryFunction const&amp; f = UnaryFunction())
        : func(f) {}

    tem