42 #ifndef StaticHashTable_H 43 #define StaticHashTable_H 58 template<
class T>
class List;
61 template<
class T,
class Key,
class Hash>
Istream&
operator>>
67 template<
class T,
class Key,
class Hash>
Ostream&
operator<<
106 template<
class T,
class Key=word,
class Hash=
string::hash>
127 inline label hashKeyIndex(
const Key&)
const;
130 bool set(
const Key&,
const T& newElmt,
bool protect);
138 template<
class TRef,
class TableRef>
193 inline label size()
const;
196 inline bool empty()
const;
199 bool found(
const Key& key)
const;
203 iterator find(
const Key& key);
207 const_iterator find(
const Key& key)
const;
213 Ostream& printInfo(Ostream&)
const;
219 bool insert(
const Key& key,
const T& newElmt);
222 inline bool set(
const Key&,
const T& newElmt);
225 bool erase(
const iterator& it);
228 bool erase(
const Key& key);
255 inline T& operator[](
const Key&);
258 inline const T& operator[](
const Key&)
const;
261 inline T& operator()(
const Key&);
295 template<
class TRef,
class TableRef>
300 template<
class TRef2,
class TableRef2>
333 inline void operator=(
const iterator&);
335 inline bool operator==(
const iterator&)
const;
336 inline bool operator==(
const const_iterator&)
const;
338 inline bool operator!=(
const iterator&)
const;
339 inline bool operator!=(
const const_iterator&)
const;
342 inline TRef operator()();
347 inline const Key& key()
const;
352 inline iterator begin();
355 inline const iterator& end();
358 inline const_iterator cbegin()
const;
361 inline const const_iterator& cend()
const;
364 inline const_iterator begin()
const;
367 inline const const_iterator& end()
const;
371 friend Istream&
operator>> <
T, Key,
Hash>
377 friend Ostream& operator<< <T, Key, Hash>
390 const_iterator endConstIter_;
404 #ifndef NoStaticHashTableC 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.
const T & const_reference
Type that can be used for storing into constant.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A zero-sized end iterator.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static label canonicalSize(const label)
Return a canonical (power-of-two) size.
iteratorEnd()
Construct null.
T & reference
Type that can be used for storing into StaticHashTable::value_type.
tmp< fvMatrix< Type > > operator*(const volScalarField::Internal &, const fvMatrix< Type > &)
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
STL conforming hash table.
timeIndices insert(timeIndex, timeDirs[timeI].value())
triSurfaceToAgglom resize(surfacesMesh.size())
StaticHashTableCore()
Construct null.
Template-invariant bits for StaticHashTable.
T value_type
Type of values the StaticHashTable contains.
graph_traits< Graph >::vertices_size_type size_type
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)
ClassName("StaticHashTable")
Define template name and debug.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
dimensionedScalar TRef("TRef", dimTemperature, laminarTransport)
bool operator!=(const particle &, const particle &)