HashTable< T, Key, Hash >::const_iterator Class Reference

Forward iterator with const access. More...

Inheritance diagram for HashTable< T, Key, Hash >::const_iterator:
[legend]
Collaboration diagram for HashTable< T, Key, Hash >::const_iterator:
[legend]

Public Types

using iterator_category = std::forward_iterator_tag
 
using difference_type = this_type::difference_type
 
using node_type = this_type::node_type
 
using key_type = this_type::key_type
 
using mapped_type = const this_type::mapped_type
 
using value_type = const this_type::value_type
 
using pointer = this_type::const_pointer
 
using reference = this_type::const_reference
 
- Public Types inherited from HashTable< T, Key, Hash >::Iterator< true >
using iterator_category = std::forward_iterator_tag
 
using difference_type = this_type::difference_type
 
using table_type = typename std::conditional< Const, const this_type, this_type >::type
 The HashTable container type. More...
 
using node_type = typename std::conditional< Const, const this_type::node_type, this_type::node_type >::type
 The node-type being addressed. More...
 
using key_type = this_type::key_type
 The key type. More...
 
using mapped_type = typename std::conditional< Const, const this_type::mapped_type, this_type::mapped_type >::type
 The object type being addressed. More...
 

Public Member Functions

 const_iterator ()=default
 Default construct (end iterator) More...
 
 const_iterator (const const_iterator &)=default
 Copy construct. More...
 
const_iteratoroperator= (const const_iterator &)=default
 Copy assignment. More...
 
template<bool Any>
 const_iterator (const Iterator< Any > &iter)
 Copy construct from any access type. More...
 
 const_iterator (const iterator &iter)
 Implicit conversion from dissimilar access type. More...
 
const node_typenode () const noexcept
 Const access to the entry (node) More...
 
reference val () const
 Const access to referenced object (value) More...
 
reference operator* () const
 Const access to referenced object (value) More...
 
reference operator() () const
 
const_iteratoroperator++ ()
 
const_iterator operator++ (int)
 
const_iteratoroperator= (const iterator &iter)
 
- Public Member Functions inherited from HashTable< T, Key, Hash >::Iterator< true >
bool good () const noexcept
 True if iterator points to an entry. More...
 
bool found () const noexcept
 True if iterator points to an entry - same as good() More...
 
const Key & key () const
 The key associated with the iterator. More...
 
Ostreamprint (Ostream &os) const
 Write the (key, val) pair. More...
 
 operator bool () const noexcept
 True if iterator points to an entry. More...
 
bool operator== (const Iterator< Any > &iter) const noexcept
 Compare hash-entry element pointers. More...
 
bool operator!= (const Iterator< Any > &iter) const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from HashTable< T, Key, Hash >::Iterator< true >
constexpr Iterator () noexcept
 Default construct (end iterator) More...
 
 Iterator (table_type *tbl)
 Construct from begin of hash-table. More...
 
 Iterator (table_type *tbl, const Key &key)
 Construct by finding key in hash table. More...
 
void increment ()
 Increment to the next position. More...
 
 operator const Iterator< Any > & () const
 Permit explicit cast to the other (const/non-const) iterator. More...
 
- Protected Attributes inherited from HashTable< T, Key, Hash >::Iterator< true >
node_typeentry_
 The selected entry. More...
 
table_typecontainer_
 The hash-table container being iterated on. More...
 
label index_
 Index within the hash-table data. More...
 

Detailed Description

template<class T, class Key = word, class Hash = Foam::Hash<Key>>
class Foam::HashTable< T, Key, Hash >::const_iterator

Forward iterator with const access.

Definition at line 791 of file HashTable.H.

Member Typedef Documentation

◆ iterator_category

using iterator_category = std::forward_iterator_tag

Definition at line 798 of file HashTable.H.

◆ difference_type

Definition at line 799 of file HashTable.H.

◆ node_type

Definition at line 801 of file HashTable.H.

◆ key_type

Definition at line 802 of file HashTable.H.

◆ mapped_type

Definition at line 803 of file HashTable.H.

◆ value_type

Definition at line 804 of file HashTable.H.

◆ pointer

Definition at line 805 of file HashTable.H.

◆ reference

Definition at line 806 of file HashTable.H.

Constructor & Destructor Documentation

◆ const_iterator() [1/4]

const_iterator ( )
default

Default construct (end iterator)

◆ const_iterator() [2/4]

const_iterator ( const const_iterator )
default

Copy construct.

◆ const_iterator() [3/4]

const_iterator ( const Iterator< Any > &  iter)
inline

Copy construct from any access type.

Definition at line 825 of file HashTable.H.

◆ const_iterator() [4/4]

const_iterator ( const iterator iter)
inline

Implicit conversion from dissimilar access type.

Definition at line 831 of file HashTable.H.

Member Function Documentation

◆ operator=() [1/2]

const_iterator & operator= ( const const_iterator )
default

Copy assignment.

◆ node()

const node_type * node ( ) const
inlinenoexcept

Const access to the entry (node)

Definition at line 840 of file HashTable.H.

◆ val()

reference val ( ) const
inline

Const access to referenced object (value)

Definition at line 846 of file HashTable.H.

Referenced by HashTable< T, Key, Hash >::at(), IOobjectList::cfindObject(), HashTable< T, Key, Hash >::lookup(), HashTable< T, Key, Hash >::const_iterator::operator()(), HashTable< T, Key, Hash >::const_iterator::operator*(), and HashTable< T, Key, Hash >::operator==().

Here is the caller graph for this function:

◆ operator*()

reference operator* ( ) const
inline

Const access to referenced object (value)

Definition at line 852 of file HashTable.H.

References HashTable< T, Key, Hash >::const_iterator::val().

Here is the call graph for this function:

◆ operator()()

reference operator() ( ) const
inline

Definition at line 853 of file HashTable.H.

References HashTable< T, Key, Hash >::const_iterator::val().

Here is the call graph for this function:

◆ operator++() [1/2]

Definition at line 211 of file HashTableIterI.H.

◆ operator++() [2/2]

Foam::HashTable< T, Key, Hash >::const_iterator operator++ ( int  )
inline

Definition at line 220 of file HashTableIterI.H.

◆ operator=() [2/2]

const_iterator & operator= ( const iterator iter)
inline

Definition at line 862 of file HashTable.H.


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