[#BloombergLP-bslstl-HashTableIterator]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::HashTableIterator
:relfileprefix: ../../
:mrdocs:

STL&hyphen;conforming forward iterator over hash&hyphen;table node lists&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE&lowbar;TYPE,
    class DIFFERENCE&lowbar;TYPE&gt;
class HashTableIterator;
----

== Description

This class template implements an in&hyphen;core value&hyphen;semantic type that is an standard&hyphen;conforming forward iterator (see section 24&period;2&period;5 &lsqb;forward&period;iterators&rsqb;of the C&plus;&plus;11 standard) over a list of `bslalg&colon;&colon;BidirectionalLink` objects&period; A `HashTableIterator` object provides access to values of the (template parameter) `VALUE&lowbar;TYPE`, stored in a hash table composed of `bslalg&colon;&colon;BidirectionalLink` nodes&period; The (template parameter) `DIFFERENCE&lowbar;TYPE` determines the standard mandated `difference&lowbar;type` of the iterator, without requiring access to the allocator&hyphen;traits for the node&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/HashTableIterator/difference_type.adoc[`difference&lowbar;type`] 
| Iterator difference type&period;
| xref:BloombergLP/bslstl/HashTableIterator/iterator_category.adoc[`iterator&lowbar;category`] 
| Standard iterator defined types &lsqb;24&period;4&period;2&rsqb;&period;
| xref:BloombergLP/bslstl/HashTableIterator/pointer.adoc[`pointer`] 
| This `typedef` is an alias to `VALUE&lowbar;TYPE &ast;`&period;
| xref:BloombergLP/bslstl/HashTableIterator/reference.adoc[`reference`] 
| This `typedef` is an alias to `VALUE&lowbar;TYPE&amp;`&period;
| xref:BloombergLP/bslstl/HashTableIterator/value_type.adoc[`value&lowbar;type`] 
| This `typedef` is an alias to the non&hyphen;`const` form of `VALUE&lowbar;TYPE`&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/HashTableIterator/2constructor-0e.adoc[`HashTableIterator`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bslstl/HashTableIterator/2destructor.adoc[`&#126;HashTableIterator`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/bslstl/HashTableIterator/operator_assign.adoc[`operator&equals;`] 
| Assign to this object the value of the specified `rhs` object&period;
| xref:BloombergLP/bslstl/HashTableIterator/node.adoc[`node`] 
| Return the address of the node at this iterator&apos;s position&period;
| xref:BloombergLP/bslstl/HashTableIterator/operator_star.adoc[`operator&ast;`] 
| Return a reference to the value at this iterator&apos;s position&period;
| xref:BloombergLP/bslstl/HashTableIterator/operator_inc.adoc[`operator&plus;&plus;`] 
| Advance this iterator to the next node in the list&period;
| xref:BloombergLP/bslstl/HashTableIterator/operator_ptr.adoc[`operator&hyphen;&gt;`] 
| Return the address of the value at this iterator&apos;s position&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/operator_not_eq-02.adoc[`operator!&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_not_eq-062ee.adoc[`operator!&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_not_eq-067.adoc[`operator!&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_not_eq-0a6.adoc[`operator!&equals;`]
| Return `true` if `lhs` and `rhs` do not have the same value&period;
| xref:BloombergLP/bslstl/operator_inc-0d3.adoc[`operator&plus;&plus;`]
| Advance `iter` to the next node and return its previous value&period;
| xref:BloombergLP/bslstl/operator_eq-03.adoc[`operator&equals;&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_eq-06e.adoc[`operator&equals;&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_eq-07.adoc[`operator&equals;&equals;`]
| Same as the preceding overload&period;
| xref:BloombergLP/bslstl/operator_eq-09.adoc[`operator&equals;&equals;`]
| Return `true` if `lhs` and `rhs` have the same value&period;
|===


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