BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdlc::FlatHashTable_IteratorImp< ENTRY > Class Template Reference

#include <bdlc_flathashtable.h>

Public Member Functions

 FlatHashTable_IteratorImp ()
 
 FlatHashTable_IteratorImp (ENTRY *entries, const bsl::uint8_t *controls, bsl::size_t additionalLength)
 
 FlatHashTable_IteratorImp (const FlatHashTable_IteratorImp &original)
 
 ~FlatHashTable_IteratorImp ()=default
 
FlatHashTable_IteratorImpoperator= (const FlatHashTable_IteratorImp &rhs)
 
void operator++ ()
 
ENTRY & operator* () const
 

Friends

bool operator== (const FlatHashTable_IteratorImp &, const FlatHashTable_IteratorImp &)
 

Detailed Description

template<class ENTRY>
class bdlc::FlatHashTable_IteratorImp< ENTRY >

This class implements the methods required by bsl::ForwardIterator to provide forward iterators. As such, an instance of this class represents a position within a flat hash table. This class uses no features of the ENTRY type except for addresses of ENTRY objects.

Constructor & Destructor Documentation

◆ FlatHashTable_IteratorImp() [1/3]

template<class ENTRY >
bdlc::FlatHashTable_IteratorImp< ENTRY >::FlatHashTable_IteratorImp ( )
inline

Create a FlatHashTable_IteratorImp having the default, non-dereferencable value.

◆ FlatHashTable_IteratorImp() [2/3]

template<class ENTRY >
bdlc::FlatHashTable_IteratorImp< ENTRY >::FlatHashTable_IteratorImp ( ENTRY *  entries,
const bsl::uint8_t *  controls,
bsl::size_t  additionalLength 
)
inline

Create a FlatHashTable_IteratorImp referencing the first element of the specified entries and controls, which have the specified additionalLength values. The behavior is undefined unless entries points to at least 1 + additionalLength entry values and controls points to at least 1 + additionalLength + ControlGroup::k_SIZE control values.

◆ FlatHashTable_IteratorImp() [3/3]

template<class ENTRY >
bdlc::FlatHashTable_IteratorImp< ENTRY >::FlatHashTable_IteratorImp ( const FlatHashTable_IteratorImp< ENTRY > &  original)
inline

Create a FlatHashTable_IteratorImp having the same value as the specified original.

◆ ~FlatHashTable_IteratorImp()

template<class ENTRY >
bdlc::FlatHashTable_IteratorImp< ENTRY >::~FlatHashTable_IteratorImp ( )
default

Member Function Documentation

◆ operator*()

template<class ENTRY >
ENTRY & bdlc::FlatHashTable_IteratorImp< ENTRY >::operator* ( ) const
inline

Return a reference to the element referred to by this FlatHashTable_IteratorImp. The behavior is undefined unless this FlatHashTable_IteratorImp() != *this.

◆ operator++()

template<class ENTRY >
void bdlc::FlatHashTable_IteratorImp< ENTRY >::operator++ ( )
inline

Advance the FlatHashTable_IteratorImp to the next present element in the underlying flat hash table. If there is no such element, assign this object to FlatHashTable_InteratorImp(). The behavior is undefined unless this FlatHashTable_IteratorImp refers to a valid element of the underlying sequence.

◆ operator=()

template<class ENTRY >
FlatHashTable_IteratorImp< ENTRY > & bdlc::FlatHashTable_IteratorImp< ENTRY >::operator= ( const FlatHashTable_IteratorImp< ENTRY > &  rhs)
inline

Assign to this FlatHashTable_IteratorImp the value of the specified rhs.

Friends And Related Symbol Documentation

◆ operator==

template<class ENTRY >
bool operator== ( const FlatHashTable_IteratorImp< ENTRY > &  ,
const FlatHashTable_IteratorImp< ENTRY > &   
)
friend

Return true if the specified a and b are equal. Two FlatHashTable_IteratorImp objects are equal if they both refer to the same element of the underlying flat hash table, or are both not dereferenceable. The behavior is undefined unless a and b refer to the same FlatHashTable.


The documentation for this class was generated from the following file: