Go to the documentation of this file.
39 #ifndef HashPtrTable_H
40 #define HashPtrTable_H
55 template<
class T,
class Key,
class Hash>
class HashPtrTable;
57 template<
class T,
class Key,
class Hash>
65 template<
class T,
class Key=word,
class Hash=
string::hash>
148 bool erase(
const Key& key);
179 inline bool insert(
const Key&,
T*) =
delete;
192 inline bool set(
const Key& key,
T* ptr);
bool erase(iterator &iter)
Forward iterator with non-const access.
autoPtr< T > remove(iterator &iter)
Remove entry specified by given iterator.
~HashPtrTable()
Destructor.
Forward iterator with const access.
Istream & operator>>(Istream &, directionInfo &)
HashPtrTable< T, Key, Hash > this_type
The template instance used for this table.
A helper class when constructing from an Istream or dictionary.
Hash function class. The default definition is for primitives, non-primitives used to hash entries on...
void clear()
Clear all entries from table and delete any allocated pointers.
bool set(const Key &key, T *ptr)
Assign a new entry, overwriting existing entries.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
bool insert(const Key &, T *)=delete
void write(Ostream &os) const
Write.
HashPtrTable()
Construct null with default table capacity.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
HashTable< T *, Key, Hash > parent_type
The template instance used for the parent HashTable.
void operator=(const this_type &rhs)
Copy assignment.
A HashTable similar to std::unordered_map.
typename parent_type::const_iterator const_iterator
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A HashTable of pointers to objects of type <T>.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
typename parent_type::iterator iterator