[#bsl-List_Iterator]
= xref:bsl.adoc[bsl]::List&lowbar;Iterator
:relfileprefix: ../
:mrdocs:

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class ITER&lowbar;VALUE&gt;
class List&lowbar;Iterator;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/List_Iterator/difference_type.adoc[`difference&lowbar;type`] 
| Signed integral type used for iterator distances&period;
| xref:bsl/List_Iterator/iterator_category.adoc[`iterator&lowbar;category`] 
| `bidirectional&lowbar;iterator&lowbar;tag` for this iterator type&period;
| xref:bsl/List_Iterator/pointer.adoc[`pointer`] 
| Pointer to the element type referenced by this iterator&period;
| xref:bsl/List_Iterator/reference.adoc[`reference`] 
| Reference to the element type referenced by this iterator&period;
| xref:bsl/List_Iterator/value_type.adoc[`value&lowbar;type`] 
| Value type referenced by this iterator&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/List_Iterator/2constructor-07.adoc[`List&lowbar;Iterator`]         [.small]#[constructor]#
| Constructors
| xref:bsl/List_Iterator/2destructor.adoc[`&#126;List&lowbar;Iterator`] [.small]#[destructor]#
| Default compiler&hyphen;generated destructor&period;
| xref:bsl/List_Iterator/operator_assign.adoc[`operator&equals;`] 
| Default compiler&hyphen;generated copy&hyphen;assignment operator&period;
| xref:bsl/List_Iterator/operator_star.adoc[`operator&ast;`] 
| Return a reference providing modifiable access to the element referenced by this iterator&period; The behavior is undefined unless this iterator is in the range `&lsqb;begin() &period;&period; end())&rsqb;` for some list (i&period;e&period;, the iterator is not singular, is not `end()`, and has not been invalidated)&period;
| xref:bsl/List_Iterator/operator_inc-0f.adoc[`operator&plus;&plus;`] 
| Increment operators
| xref:bsl/List_Iterator/operator_dec-0b.adoc[`operator&hyphen;&hyphen;`] 
| Decrement operators
| xref:bsl/List_Iterator/operator_ptr.adoc[`operator&hyphen;&gt;`] 
| Return a pointer providing modifiable access to the element referenced by this iterator&period; The behavior is undefined unless this iterator is in the range `&lsqb;begin() &period;&period; end())&rsqb;` for some list (i&period;e&period;, the iterator is not singular, is not `end()`, and has not been invalidated)&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:bsl/operator_eq-0da.adoc[bsl::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` iterators refer to the same list element or both are the `end()` iterator of the same list&period;
| `bsl::List&lowbar;Iterator`
| 
| `xref:bsl/list-054.adoc[bsl::list]`
| Forward declaration required by `List&lowbar;NodeProctor`&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/operator_eq-0e4.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` iterators refer to the same list element or both are the `end()` iterator of the same list&period;
|===


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