60 template<
class T>
class List;
62 template<
class T,
class Key,
class Hash>
class HashTable;
63 template<
class T,
class Key,
class Hash>
class HashPtrTable;
65 template<
class T,
class Key,
class Hash>
68 template<
class T,
class Key,
class Hash>
69 Ostream& operator<<(Ostream&, const HashTable<T, Key, Hash>&);
118 template<
class T,
class Key=word,
class Hash=
string::hash>
138 inline hashedEntry(
const Key&, hashedEntry* next,
const T&);
143 hashedEntry(
const hashedEntry&);
146 void operator=(
const hashedEntry&);
159 hashedEntry** table_;
169 inline label hashKeyIndex(
const Key&)
const;
172 bool set(
const Key&,
const T& newElmt,
bool protect);
180 class const_iterator;
183 template<
class T2,
class Key2,
class Hash2>
187 friend class iteratorBase;
190 friend class iterator;
193 friend class const_iterator;
220 inline label capacity()
const;
223 inline label size()
const;
226 inline bool empty()
const;
229 bool found(
const Key&)
const;
233 iterator find(
const Key&);
237 const_iterator find(
const Key&)
const;
252 inline bool insert(
const Key&,
const T& newElmt);
255 inline bool set(
const Key&,
const T& newElmt);
259 bool erase(
const iterator&);
262 bool erase(
const Key&);
272 template<
class AnyType,
class AnyHash>
299 inline T& operator[](
const Key&);
302 inline const T& operator[](
const Key&)
const;
305 inline T& operator()(
const Key&);
353 hashedEntry* entryPtr_;
376 const hashedEntry* elmt,
377 const label hashIndex
384 inline void increment();
393 inline const T& cobject()
const;
403 inline const Key& key()
const;
435 const label hashIndex
454 inline T& operator()();
458 inline const T& operator()()
const;
489 const hashedEntry* elmt,
490 const label hashIndex
512 inline const T& operator()()
const;
535 friend Ostream& operator<< <T, Key, Hash>
tmp< fvMatrix< Type > > operator*(const DimensionedField< scalar, volMesh > &, const fvMatrix< Type > &)
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
static const label maxTableSize
Maximum allowable table size.
An STL-conforming const_iterator.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
HashTableCore()
Construct null.
An STL-conforming iterator.
An STL-conforming hash table.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A simple container for copying or transferring objects of type <T>.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
The iterator base for HashTable.
timeIndices insert(timeIndex, timeDirs[timeI].value())
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
static iteratorEnd cend()
iteratorEnd set to beyond the end of any HashTable
graph_traits< Graph >::vertices_size_type size_type
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
Macro definitions for declaring ClassName(), NamespaceName(), etc.
iteratorEnd()
Construct null.
bool operator!=(const particle &, const particle &)
ClassName("HashTable")
Define template name and debug.
static label canonicalSize(const label)
Return a canonical (power-of-two) size.
A zero-sized end iterator.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Istream & operator>>(Istream &, edgeMesh &)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
Template-invariant bits for HashTable.
triSurfaceToAgglom resize(surfacesMesh.size())
A HashTable specialization for hashing pointers.