[#BloombergLP-bdlb-FunctionOutputIterator]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::FunctionOutputIterator
:relfileprefix: ../../
:mrdocs:

Provide an output iterator that invokes a client&hyphen;supplied functor&period;

== Synopsis

Declared in `&lt;bdlb&lowbar;functionoutputiterator&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class FUNCTION&gt;
class FunctionOutputIterator;
----

== Description

Provide an output iterator that calls an object of the (template parameter) type `FUNCTION`&period; If `FUNCTION` is a functor, de&hyphen;referencing this iterator and assigning to the result (of dereferencing) will call the `operator()` of the functor with the assigned value as a parameter&period; Similarly, if `FUNCTION` is a function pointer type, assigning to the dereferenced iterator will call the function supplied at construction with the assigned value as a parameter&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/FunctionOutputIterator/difference_type.adoc[`difference&lowbar;type`] 
| Unused difference type required by `iterator&lowbar;traits` (always `void`)&period;
| xref:BloombergLP/bdlb/FunctionOutputIterator/iterator_category.adoc[`iterator&lowbar;category`] 
| Tag identifying this type as an output iterator&period;
| xref:BloombergLP/bdlb/FunctionOutputIterator/pointer.adoc[`pointer`] 
| Unused pointer type required by `iterator&lowbar;traits` (always `void`)&period;
| xref:BloombergLP/bdlb/FunctionOutputIterator/reference.adoc[`reference`] 
| Unused reference type required by `iterator&lowbar;traits` (always `void`)&period;
| xref:BloombergLP/bdlb/FunctionOutputIterator/value_type.adoc[`value&lowbar;type`] 
| Unused value type required by `iterator&lowbar;traits` (always `void`)&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/FunctionOutputIterator/2constructor-06.adoc[`FunctionOutputIterator`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlb/FunctionOutputIterator/operator_star.adoc[`operator&ast;`] 
| Return a proxy that invokes the held functor on assignment&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/operator_inc-00.adoc[`operator&plus;&plus;`]
| Do nothing and return a copy of the specified `iterator`&period;
| xref:BloombergLP/bdlb/operator_inc-051.adoc[`operator&plus;&plus;`]
| Do nothing and return the specified `iterator`&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
