[#BloombergLP-bdlb-TransformIterator_Traits-04]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::xref:BloombergLP/bdlb/TransformIterator_Traits-0f.adoc[TransformIterator&lowbar;Traits]&lt;RESULT(ARGUMENT), ITERATOR&gt;
:relfileprefix: ../../
:mrdocs:

Traits for a transform iterator whose functor is a function type&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class RESULT,
    class ARGUMENT,
    class ITERATOR&gt;
struct xref:BloombergLP/bdlb/TransformIterator_Traits-0f.adoc[TransformIterator&lowbar;Traits]&lt;RESULT(ARGUMENT), ITERATOR&gt;
    : xref:BloombergLP/bdlb/TransformIterator_Traits-0f.adoc[TransformIterator&lowbar;Traits&lt;bsl::function&lt;RESULT(ARGUMENT)&gt;, ITERATOR&gt;]
----

== Description

Specialize the transform iterator traits template for functors that are function types&period; It is sufficient to inherit from the version of the traits class that corresponds to a `bsl&colon;&colon;function` of the function type parameter&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bdlb/TransformIterator_Traits-0f.adoc[TransformIterator&lowbar;Traits&lt;bsl::function&lt;RESULT(ARGUMENT)&gt;, ITERATOR&gt;]`
| This component&hyphen;private class defines various types that are used in the implementation of the transform iterator&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/BaseIteratorTraits.adoc[`BaseIteratorTraits`] 
| Define the iterator traits class of the underlying iterator&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/ResultType.adoc[`ResultType`] 
| Result type of applying the functor to a dereferenced iterator&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/difference_type.adoc[`difference&lowbar;type`] 
| Type used to represent distances between iterators&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/iterator_category.adoc[`iterator&lowbar;category`] 
| Iterator category of this transform iterator&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/pointer.adoc[`pointer`] 
| Pointer type derived from the functor result type&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/reference.adoc[`reference`] 
| Reference type returned by dereferencing this iterator&period;
| xref:BloombergLP/bdlb/TransformIterator_Traits-0f/value_type.adoc[`value&lowbar;type`] 
| Value type produced by applying the functor to a dereferenced underlying iterator&period;
|===



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