Loading...
Searching...
No Matches
HashTableCore Class Reference

Bits that are independent of HashTable template parameters. More...

#include <HashTableCore.H>

Inherited by HashTable< T, Key, HashType >, HashTable< T *, Key, Hash >, HashTable< Foam::zero, Key, Hash >, HashTable< T, Key, Hash >, HashTable< T, label, Hash< label > >, HashTable< const regIOobject * >, HashTable< dictionaryConstructorPtr, ::Foam::word, ::Foam::Hash<::Foam::word > >, HashTable< std::pair<::Foam::word, int >, ::Foam::word, ::Foam::Hash<::Foam::word > >, HashTable< T, labelPair, Foam::Hash< labelPair > >, HashTable< label, labelPair, Foam::Hash< labelPair > >, HashTable< T, wordPair, Foam::Hash< wordPair > >, HashTable< word, wordPair, Foam::Hash< wordPair > >, HashTable< interfaceThetaProps, multiphaseSystem::interfacePair, multiphaseSystem::interfacePair::symmHash >, HashTable< scalar, interfacePair, interfacePair::symmHash >, HashTable< scalar, interfacePair, interfacePair::hash >, HashTable< dictionary, interfacePair, interfacePair::symmHash >, HashTable< autoPtr< interfaceCompositionModel >, phasePairKey, phasePairKey::hash >, HashTable< volScalarField::Internal >, HashTable< autoPtr< phasePair >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< multiphaseInter::phaseModel > >, HashTable< dictionary, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< multiphaseInter::surfaceTensionModel >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< porousModel >, phasePairKey, phasePairKey::hash >, HashTable< scalar, phasePairKey, phasePairKey::hash >, HashTable< surfaceScalarField >, HashTable< interfaceThetaProps, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< blendingMethod > >, HashTable< autoPtr< reactingMultiphaseEuler::surfaceTensionModel >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< aspectRatioModel >, phasePairKey, phasePairKey::hash >, HashTable< Pair< autoPtr< BlendedInterfacialModel< massTransferModel > > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< dragModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< virtualMassModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< liftModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< wallLubricationModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< turbulentDispersionModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< heatTransferModel > >, phasePairKey, phasePairKey::hash >, HashTable< autoPtr< BlendedInterfacialModel< phaseTransferModel > >, phasePairKey, phasePairKey::hash >, HashTable< Pair< autoPtr< BlendedInterfacialModel< heatTransferModel > > >, phasePairKey, phasePairKey::hash >, HashTable< List< specieElement > >, HashTable< DataType, KeyType >, HashTable< interfaceThetaProps, multiphaseMixtureThermo::interfacePair, multiphaseMixtureThermo::interfacePair::hash >, HashTable< autoPtr< reflectionModel >, phasePairKey, phasePairKey::hash >, HashTable< interfaceThetaProps, multiphaseMixture::interfacePair, multiphaseMixture::interfacePair::hash >, HashTable< T, edge, Hash< edge > >, HashTable< T *, word, Foam::Hash< word > >, HashTable< Foam::zero, Key, Foam::Hash< Key > >, HashTable< IOobject *, word, Foam::Hash< word > >, HashTable< scalar >, HashTable< dictionary, label, Hash< label > >, HashTable< label, label, Hash< label > >, HashTable< exprResult *, word, Foam::Hash< word > >, HashTable< curve *, word, Foam::Hash< word > >, HashTable< const GeometricField< Type, fvPatchField, volMesh > * >, HashTable< regIOobject * >, HashTable< label, extendedFeatureEdgeMesh::edgeStatus, Hash< label > >, HashTable< wordList >, HashTable< simpleObjectRegistryEntry * >, HashTable< label >, HashTable< T * >, HashTable< Foam::GeometricField< scalar, fvsPatchField, surfaceMesh > *, word, Foam::Hash< word > >, HashTable< Foam::OFstream *, word, Foam::Hash< word > >, HashTable< Foam::GeometricField< scalar, fvPatchField, volMesh > *, Foam::phasePairKey, Foam::phasePairKey::hasher >, HashTable< Foam::surfaceWriter *, word, Foam::Hash< word > >, HashTable< Foam::string >, HashTable< Foam::zero, Foam::string, Foam::Hash< Foam::string > >, HashTable< std::pair< Foam::word, int > >, HashTable< std::pair< bool, int > >, HashTable< Foam::string, label, Foam::Hash< label > >, HashTable< Foam::dimensioned< scalar > >, HashTable< Foam::List< label >, edge, Hash< edge > >, HashTable< Foam::List< label > >, HashTable< Foam::edge, label, Hash< label > >, HashTable< int >, HashTable< phase >, HashTable< Foam::colourTable *, word, Foam::Hash< word > >, HashTable< Foam::entry * >, HashTable< Foam::coordSystem::cylindrical *, label, Hash >, HashTable< Foam::word >, HashTable< Foam::Vector< scalar >, label, Hash< label > >, HashTable< scalar, label, Hash< label > >, HashTable< Foam::HashTable< Foam::string > >, HashTable< Foam::ensightCells, label, Hash< label > >, HashTable< Foam::ensightFaces, label, Hash< label > >, HashTable< Foam::expressions::exprResult >, HashTable< Foam::refPtr< Foam::Function1< scalar > > >, HashTable< Foam::refPtr< Foam::Function1< Foam::Vector< scalar > > > >, HashTable< Foam::expressions::exprResultGlobals::Table >, HashTable< Foam::expressions::exprResultDelayed >, HashTable< label, Foam::string >, HashTable< Foam::FixedList< int, 6 >, label, Hash< label > >, HashTable< Foam::List< dirIndex > >, HashTable< Foam::DynamicList< Foam::instant > *, word, Foam::Hash< word > >, HashTable< unsigned >, HashTable< statistic >, HashTable< Foam::HashTable< variantOutput > >, HashTable< Foam::Pair< extremaData > >, HashTable< Foam::Tuple2< label, Foam::DynamicList< label > > >, HashTable< Foam::functionObjects::forceCoeffs::coeffDesc >, HashTable< Foam::vtk::seriesWriter, Foam::fileName >, HashTable< Foam::Function1< Type > *, word, Foam::Hash< word > >, HashTable< Foam::Function1< scalar > *, word, Foam::Hash< word > >, HashTable< Foam::expressions::exprString >, HashTable< Foam::expressions::volumeExpr::parseDriver *, word, Foam::Hash< word > >, HashTable< Foam::Field< scalar > *, word, Foam::Hash< word > >, HashTable< Foam::Field< vector > *, word, Foam::Hash< word > >, HashTable< Foam::Field< sphericalTensor > *, word, Foam::Hash< word > >, HashTable< Foam::Field< symmTensor > *, word, Foam::Hash< word > >, HashTable< Foam::Field< tensor > *, word, Foam::Hash< word > >, HashTable< Foam::autoPtr< Foam::multiphaseInter::interfaceCompositionModel > >, HashTable< label, edge, Hash< edge > >, HashTable< Foam::lumpedPointController *, word, Foam::Hash< word > >, HashTable< patchControl, label, Hash< label > >, HashTable< surfaceZonesInfo::faceZoneType >, HashTable< Foam::phase * >, HashTable< Foam::phaseModel * >, HashTable< Foam::Pair< bool > >, HashTable< scalar, edge, Hash< edge > >, HashTable< Foam::List< scalar > >, HashTable< Foam::autoPtr< Foam::blendingMethod > >, HashTable< Foam::splitCell *, label, Hash< label > >, HashTable< Foam::zero, Foam::fileName, Foam::Hash< Foam::fileName > >, HashTable< Foam::Field< vector >, label, Hash< label > >, and HashTable< T, Key, Hash >.

Classes

class  const_iterator_pair
 Factory class for creating a begin/end pair for any const iterator type, normally associated with a HashTable. More...

Public Member Functions

 ClassName ("HashTable")
 Declare type-name (with debug switch).
constexpr HashTableCore () noexcept=default
 Default construct.

Static Public Member Functions

static label canonicalSize (const label size) noexcept
 Return a canonical (power-of-two) of the requested size.

Static Public Attributes

static constexpr int32_t maxTableSize = (1 << (32-3))
 Maximum allowable internal table size (must be a power of two!).

Detailed Description

Bits that are independent of HashTable template parameters.

Template invariant parts of hash table implementation.

Source files

Definition at line 52 of file HashTableCore.H.

Constructor & Destructor Documentation

◆ HashTableCore()

HashTableCore ( )
constexprdefaultnoexcept

Default construct.

References Foam::noexcept.

Referenced by HashTable< T, Key, Hash >::HashTable().

Here is the caller graph for this function:

Member Function Documentation

◆ canonicalSize()

Foam::label canonicalSize ( const label size)
staticnoexcept

Return a canonical (power-of-two) of the requested size.

Definition at line 39 of file HashTableCore.C.

References maxTableSize, minTableSize, and n.

Referenced by HashTable< T, Key, Hash >::HashTable(), and HashTable< T, Key, Hash >::setCapacity().

Here is the caller graph for this function:

◆ ClassName()

ClassName ( "HashTable" )

Declare type-name (with debug switch).

Member Data Documentation

◆ maxTableSize

int32_t maxTableSize = (1 << (32-3))
staticconstexpr

Maximum allowable internal table size (must be a power of two!).

  • approximately (INT32_MAX/4) => 0x20000000
  • don't need an int64 version

Definition at line 60 of file HashTableCore.H.

Referenced by canonicalSize().


The documentation for this class was generated from the following files: