BloombergLP::bslstl::HashTableIterator

STL-conforming forward iterator over hash-table node lists.

Synopsis

Declared in <bslstl_hashtableiterator.h>

template<
    class VALUE_TYPE,
    class DIFFERENCE_TYPE>
class HashTableIterator;

Description

This class template implements an in-core value-semantic type that is an standard-conforming forward iterator (see section 24.2.5 [forward.iterators]of the C++11 standard) over a list of bslalg::BidirectionalLink objects. A HashTableIterator object provides access to values of the (template parameter) VALUE_TYPE, stored in a hash table composed of bslalg::BidirectionalLink nodes. The (template parameter) DIFFERENCE_TYPE determines the standard mandated difference_type of the iterator, without requiring access to the allocator-traits for the node.

Type Aliases

NameDescription
difference_type Iterator difference type.
iterator_category Standard iterator defined types [24.4.2].
pointer This typedef is an alias to VALUE_TYPE *.
reference This typedef is an alias to VALUE_TYPE&.
value_type This typedef is an alias to the non-const form of VALUE_TYPE.

Member Functions

NameDescription
HashTableIterator [constructor]Constructors
~HashTableIterator [destructor]Destroy this object.
operator= Assign to this object the value of the specified rhs object.
node Return the address of the node at this iterator's position.
operator* Return a reference to the value at this iterator's position.
operator++ Advance this iterator to the next node in the list.
operator-> Return the address of the value at this iterator's position.

Non-Member Functions

NameDescription
operator!=Same as the preceding overload.
operator!=Same as the preceding overload.
operator!=Same as the preceding overload.
operator!=Return true if lhs and rhs do not have the same value.
operator++Advance iter to the next node and return its previous value.
operator==Same as the preceding overload.
operator==Same as the preceding overload.
operator==Same as the preceding overload.
operator==Return true if lhs and rhs have the same value.