36 #ifndef HashPtrTable_H 37 #define HashPtrTable_H 51 template<
class T,
class Key,
class Hash>
class HashPtrTable;
53 template<
class T,
class Key,
class Hash>
56 template<
class T,
class Key,
class Hash>
57 Ostream& operator<<(Ostream&, const HashPtrTable<T, Key, Hash>&);
64 template<
class T,
class Key=word,
class Hash=
string::hash>
119 T*
remove(iterator&);
122 bool erase(iterator&);
148 friend Ostream& operator<< <T, Key, Hash>
~HashPtrTable()
Destructor.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
HashPtrTable(const label size=128)
Construct given initial table size.
void operator=(const HashPtrTable< T, Key, Hash > &)
Assignment operator.
A list of keyword definitions, which are a keyword followed by any number of values (e...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A HashTable specialisation for hashing pointers.
void clear()
Clear all entries from table.
label size() const
Return number of elements in table.
void write(Ostream &os) const
Write.
HashTable< T *, Key, Hash >::const_iterator const_iterator
Istream & operator>>(Istream &, directionInfo &)
An STL-conforming hash table.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
A helper class when constructing from an Istream or dictionary.
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
HashTable< T *, Key, Hash >::iterator iterator
bool erase(iterator &)
Erase an hashedEntry specified by given iterator.