[#BloombergLP-bslstl-operator_dec-00]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::operator&hyphen;&hyphen;
:relfileprefix: ../../
:mrdocs:

Decrement operators

== Synopses

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

Post&hyphen;decrement 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_dec-08.adoc[operator&hyphen;&hyphen;](
    xref:BloombergLP/bslstl/BidirectionalIterator.adoc[BidirectionalIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]& iter,
    int unused);
----

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

Regress `iter` to the previous 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_dec-05.adoc[operator&hyphen;&hyphen;](
    xref:BloombergLP/bslstl/RandomAccessIterator.adoc[RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]& iter,
    int postfix);
----

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

Move `iter` to the previous 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_dec-03.adoc[operator&hyphen;&hyphen;](
    xref:BloombergLP/bslstl/TreeIterator.adoc[TreeIterator&lt;VALUE, NODE, DIFFERENCE&lowbar;TYPE&gt;]& iter,
    int postfix);
----

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

== Return Value

* previous value of `iter`
* previous value of `iter` before the decrement

== Parameters

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


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