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

Name

Description

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

Name

Description

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

Name

Description

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.

Created with MrDocs