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>
A zero-sized end iterator.
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.
An STL-conforming const_iterator.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
ClassName("HashTable")
Define template name and debug.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
tmp< fvMatrix< Type > > operator*(const DimensionedField< scalar, volMesh > &, const fvMatrix< Type > &)
A HashTable specialization for hashing pointers.
HashTableCore()
Construct null.
An STL-conforming iterator.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
Istream & operator>>(Istream &, directionInfo &)
timeIndices insert(timeIndex, timeDirs[timeI].value())
triSurfaceToAgglom resize(surfacesMesh.size())
static const label maxTableSize
Maximum allowable table size.
An STL-conforming hash table.
graph_traits< Graph >::vertices_size_type size_type
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
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)
Template-invariant bits for HashTable.
static label canonicalSize(const label)
Return a canonical (power-of-two) size.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
iteratorEnd()
Construct null.
bool operator!=(const particle &, const particle &)
The iterator base for HashTable.
static iteratorEnd cend()
iteratorEnd set to beyond the end of any HashTable