58template<
class I1,
class I2,
class E,
class H1 = DefHashFunc<I1>,
class H2 = DefHashFunc<I2>>
Declaration and implementation of HashArray class.
Declaration of class HashIterator2D.
Indexed 2-dimensional arrays using hashing for element access.
HashArray2D()
Creates a 2D-hash array.
E m_defaultValue
The default value of the array.
int size() const
Returns the number of defined elements in the table.
HashArray2D(const HashArray2D< I1, I2, E, H1, H2 > &A)
Copy constructor.
int empty() const
Returns if any indices are defined.
const E & operator()(const I1 &i, const I2 &j) const
Returns a const reference to entry (i,j).
HashConstIterator2D< I1, I2, E, H1, H2 > begin() const
Returns an iterator pointing to the first element.
void clear()
Undefines all indices.
HashArray2D & operator=(const HashArray2D< I1, I2, E, H1, H2 > &A)
Assignment operator.
void undefine(const I1 &i, const I2 &j)
Undefines the entry at index (i,j).
E & operator()(const I1 &i, const I2 &j)
Returns a reference to entry (i,j).
bool isDefined(const I1 &i, const I2 &j) const
Returns true iff entry (i,j) is defined.
HashArray2D(const E &defaultValue, const H1 &hashFunc1=H1(), const H2 &hashFunc2=H2())
Creates a 2D-hash array and sets the default value to defaultValue.
Const-iterator for 2D-hash arrays.
Representation of elements in a hash table.
Hashing with chaining and table doubling.
void del(const K &key)
Removes the element with key key from the hash table (does nothing if no such element).
HashElement< K, I > * fastInsert(const K &key, const I &info)
Inserts a new element with key key and information info into the hash table.
bool member(const K &key) const
Returns true iff the hash table contains an element with key key.
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.
Tuples of two elements (2-tuples).
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Declaration and implementation of class Tuple2, Tuple3 and Tuple4.