Indexed 2-dimensional arrays using hashing for element access. More...
#include <ogdf/basic/HashArray2D.h>
Public Types | |
using | const_iterator = HashConstIterator2D< I1, I2, E, H1, H2 > |
The type of const-iterators for 2D-hash arrays. | |
Public Member Functions | |
HashArray2D () | |
Creates a 2D-hash array. | |
HashArray2D (const E &defaultValue, const H1 &hashFunc1=H1(), const H2 &hashFunc2=H2()) | |
Creates a 2D-hash array and sets the default value to defaultValue . | |
HashArray2D (const HashArray2D< I1, I2, E, H1, H2 > &A) | |
Copy constructor. | |
~HashArray2D () | |
HashConstIterator2D< I1, I2, E, H1, H2 > | begin () const |
Returns an iterator pointing to the first element. | |
void | clear () |
Undefines all indices. | |
int | empty () const |
Returns if any indices are defined. | |
bool | isDefined (const I1 &i, const I2 &j) const |
Returns true iff entry (i ,j ) is defined. | |
E & | operator() (const I1 &i, const I2 &j) |
Returns a reference to entry (i ,j ). | |
const E & | operator() (const I1 &i, const I2 &j) const |
Returns a const reference to entry (i ,j ). | |
HashArray2D & | operator= (const HashArray2D< I1, I2, E, H1, H2 > &A) |
Assignment operator. | |
int | size () const |
Returns the number of defined elements in the table. | |
void | undefine (const I1 &i, const I2 &j) |
Undefines the entry at index (i ,j ). | |
Private Attributes | |
E | m_defaultValue |
The default value of the array. | |
Additional Inherited Members | |
Private Types inherited from ogdf::Hashing< K, I, H > | |
using | const_iterator = HashConstIterator< K, I, H > |
The type of const-iterators for hash tables. | |
Private Member Functions inherited from ogdf::Hashing< K, I, H > | |
Hashing (const Hashing< K, I, H > &h)=default | |
Copy constructor. | |
Hashing (int minTableSize=256, const H &hashFunc=H()) | |
Creates a hash table for given initial table size minTableSize . | |
~Hashing () | |
Destruction. | |
HashConstIterator< K, I, H > | begin () const |
Returns an hash iterator to the first element in the list of all elements. | |
void | clear () |
Removes all elements from the hash table. | |
void | del (const K &key) |
Removes the element with key key from the hash table (does nothing if no such element). | |
bool | empty () const |
Returns true iff the table is empty, i.e., contains no elements. | |
HashElement< K, I > * | fastInsert (const K &key, const I &info) |
Inserts a new element with key key and information info into the hash table. | |
HashElement< K, I > * | insert (const K &key, const I &info) |
Inserts a new element with key key and information info into the hash table. | |
HashElement< K, I > * | insertByNeed (const K &key, const I &info) |
Inserts a new element with key key and information info into the hash table. | |
HashElement< K, I > * | lookup (const K &key) const |
Returns the hash element with key key in the hash table; returns nullptr if no such element exists. | |
bool | member (const K &key) const |
Returns true iff the hash table contains an element with key key . | |
Hashing< K, I, H > & | operator= (const Hashing< K, I, H > &hashing)=default |
Assignment operator. | |
int | size () const |
Returns the number of elements in the hash table. | |
HashElement< K, I > * | firstElement (HashElement< K, I > ***pList) const |
Returns the first element in the list of all elements in the hash table. | |
HashElement< K, I > * | nextElement (HashElement< K, I > ***pList, HashElement< K, I > *pElement) const |
Returns the successor of pElement in the list of all elements in the hash table. | |
Indexed 2-dimensional arrays using hashing for element access.
I1 | is the first index type. |
I2 | is the second index type. |
E | is the element type. |
H1 | is the hash function type for I1. Optional; uses the class DefHashFunc by default. |
H2 | is the hash function type for I2. Optional; uses the class DefHashFunc by default. |
A 2D-hash array can be used like a usual 2-dimensional array but with a general index type.
Definition at line 59 of file HashArray2D.h.
using ogdf::HashArray2D< I1, I2, E, H1, H2 >::const_iterator = HashConstIterator2D<I1, I2, E, H1, H2> |
The type of const-iterators for 2D-hash arrays.
Definition at line 62 of file HashArray2D.h.
|
inline |
Creates a 2D-hash array.
Definition at line 65 of file HashArray2D.h.
|
inlineexplicit |
Creates a 2D-hash array and sets the default value to defaultValue
.
Definition at line 68 of file HashArray2D.h.
|
inline |
Copy constructor.
Definition at line 75 of file HashArray2D.h.
|
inline |
Definition at line 87 of file HashArray2D.h.
|
inline |
Returns an iterator pointing to the first element.
Definition at line 121 of file HashArray2D.h.
Undefines all indices.
Definition at line 133 of file HashArray2D.h.
Returns if any indices are defined.
Definition at line 130 of file HashArray2D.h.
Returns true iff entry (i
,j
) is defined.
Definition at line 110 of file HashArray2D.h.
|
inline |
Returns a reference to entry (i
,j
).
Definition at line 98 of file HashArray2D.h.
|
inline |
Returns a const reference to entry (i
,j
).
Definition at line 90 of file HashArray2D.h.
|
inline |
Assignment operator.
Definition at line 80 of file HashArray2D.h.
Returns the number of defined elements in the table.
Definition at line 127 of file HashArray2D.h.
Undefines the entry at index (i
,j
).
Definition at line 116 of file HashArray2D.h.
|
private |
The default value of the array.
Definition at line 136 of file HashArray2D.h.