Hash.H File Reference
Include dependency graph for Hash.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Hash< T >
 Hash function class. The default definition is for primitives. Non-primitives used to hash entries on hash tables will need a specialized version. More...
 
struct  Hash< std::nullptr_t >
 Hashing of nullptr, always 0. More...
 
struct  Hash< void * >
 Hashing of pointers, treat as unsigned integer. More...
 
struct  Hash< bool >
 Hashing of integral type: bool. More...
 
struct  Hash< char >
 Hashing of integral type: char. More...
 
struct  Hash< int32_t >
 Hashing of integral type: int32_t. More...
 
struct  Hash< int64_t >
 Hashing of integral type: int64_t. More...
 
struct  Hash< uint32_t >
 Hashing of integral type: uint32_t. More...
 

Namespaces

namespace  Foam
 Namespace for OpenFOAM.
 

Macros

#define FOAM_HASH_SPECIALIZATION(Type)
 

Detailed Description

Original source file Hash.H

Definition in file Hash.H.

Macro Definition Documentation

◆ FOAM_HASH_SPECIALIZATION

#define FOAM_HASH_SPECIALIZATION (   Type)
Value:
\ \ \
template<> \
struct Hash<Type> \
{ \
unsigned operator()(const Type val) const \
{ \
return static_cast<unsigned>(val); \
} \
unsigned operator()(const Type val, unsigned seed) const \
{ \
return Foam::Hasher(&val, sizeof(Type), seed); \
} \
}
unsigned Hasher(const void *data, size_t len, unsigned seed=0)
Bob Jenkins's 96-bit mixer hashing function (lookup3)
Definition: Hasher.C:581

Definition at line 91 of file Hash.H.