[#BloombergLP-bslstl-operator_inc-0e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::operator&plus;&plus;
:relfileprefix: ../../
:mrdocs:

Increment operators

== Synopses

Declared in `&lt;bslstl&lowbar;bidirectionaliterator&period;h&gt;`

Move the specified `iterator` to the next element and return its prior value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE&lowbar;TYPE,
    class DIFFERENCE&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/HashTableBucketIterator.adoc[HashTableBucketIterator&lt;VALUE&lowbar;TYPE, DIFFERENCE&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-0d9.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/HashTableBucketIterator.adoc[HashTableBucketIterator&lt;VALUE&lowbar;TYPE, DIFFERENCE&lowbar;TYPE&gt;]& iterator,
    int postfix);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-0d9.adoc[_» more&period;&period;&period;_]#

Advance `iter` to the next node and return its previous value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE&lowbar;TYPE,
    class DIFFERENCE&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/HashTableIterator.adoc[HashTableIterator&lt;VALUE&lowbar;TYPE, DIFFERENCE&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-0d3.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/HashTableIterator.adoc[HashTableIterator&lt;VALUE&lowbar;TYPE, DIFFERENCE&lowbar;TYPE&gt;]& iter,
    int postfix);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-0d3.adoc[_» more&period;&period;&period;_]#

Post&hyphen;increment the specified iterator and return its previous value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class ITER&lowbar;IMP,
    class TAG&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/BidirectionalIterator.adoc[bslstl::BidirectionalIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-07.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/BidirectionalIterator.adoc[BidirectionalIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]& iter,
    int unused);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-07.adoc[_» more&period;&period;&period;_]#

Advance `iter` to the next element and return its previous value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class ITER&lowbar;IMP,
    class TAG&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/ForwardIterator.adoc[bslstl::ForwardIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-008.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/ForwardIterator.adoc[ForwardIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]& iter,
    int postfix);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-008.adoc[_» more&period;&period;&period;_]#

Advance `iter` to the next element and return its previous value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class ITER&lowbar;IMP,
    class TAG&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/RandomAccessIterator.adoc[bslstl::RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-005.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/RandomAccessIterator.adoc[RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]& iter,
    int postfix);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-005.adoc[_» more&period;&period;&period;_]#

Advance `iter` to the next element and return its previous value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE,
    class NODE,
    class DIFFERENCE&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/TreeIterator.adoc[TreeIterator&lt;VALUE, NODE, DIFFERENCE&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_inc-02.adoc[operator&plus;&plus;](
    xref:BloombergLP/bslstl/TreeIterator.adoc[TreeIterator&lt;VALUE, NODE, DIFFERENCE&lowbar;TYPE&gt;]& iter,
    int postfix);
----

[.small]#xref:BloombergLP/bslstl/operator_inc-02.adoc[_» more&period;&period;&period;_]#

== Return Value

* copy of `iterator` prior to advancement
* copy of the iterator before it was advanced
* previous value of `iter`
* previous value of `iter` before the increment

== Parameters

[cols="1,4"]
|===
| Name| Description
| *iterator*
| iterator to advance
| *postfix*
| unused parameter distinguishing the postfix operator
| *iter*
| iterator to advance
| *unused*
| ignored&semi; distinguishes post&hyphen;increment
|===


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