BloombergLP::bslstl::HashTableBucketIterator

Standard-conforming forward iterator over a single hash-table bucket.

Synopsis

Declared in <bslstl_hashtablebucketiterator.h>

template<
    class VALUE_TYPE,
    class DIFFERENCE_TYPE>
class HashTableBucketIterator;

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 referred to by a single bslalg::HashTableBucket object. A HashTableBucketIterator object provides access to values of the (template parameter) VALUE_TYPE, stored in a bucket of a hash table. 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 This typedef is an alias to DIFFERENCE_TYPE.
iterator_category Standard iterator defined types [24.4.2].
pointer This typedef is an alias to VALUE_TYPE *.
reference Reference type for the iterator's value type.
value_type This typedef is an alias for the iterator's value type.

Member Functions

NameDescription
HashTableBucketIterator [constructor]Constructors
operator= Copy the value of the specified rhs to this iterator.
bucket Return the address of the hash table bucket referred to by this iterator.
node Return the address of the node at which this iterator is positioned.
operator* Return a reference to the element at which this iterator is positioned.
operator++ Move this iterator to the next element in the hash table bucket.
operator-> Return the address of the element at which this iterator is positioned.

Non-Member Functions

NameDescription
operator!=Return true if the specified lhs and rhs do not have the same value.
operator!=Return true if the specified lhs and rhs do not have the same value.
operator!=Return true if the specified lhs and rhs do not have the same value.
operator!=Return true if the specified lhs and rhs do not have the same value.
operator++Move the specified iterator to the next element and return its prior value.
operator==Return true if the specified lhs and rhs have the same value.
operator==Return true if the specified lhs and rhs have the same value.
operator==Return true if the specified lhs and rhs have the same value.
operator==Return true if the specified lhs and rhs have the same value.