KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::FNV1a32Hash Class Reference

A constexpr version of FNV hash function. (32 bit version) More...

#include <fnv_1a_hash.h>

Collaboration diagram for Kratos::FNV1a32Hash:

Public Types

Type Definitions
typedef std::uint32_t HashType
 The hash to be employed is 32 bits this time. More...
 

Public Member Functions

Life Cycle
 FNV1a32Hash ()=delete
 The class is unconstructable. More...
 
virtual ~FNV1a32Hash ()=delete
 Destructor. More...
 
FNV1a32Hashoperator= (FNV1a32Hash const &rOther)=delete
 Assignment operator. More...
 
 FNV1a32Hash (FNV1a32Hash const &rOther)=delete
 Copy constructor. More...
 

Static Public Member Functions

Operations
static constexpr HashType CalculateHash (const char *const TheString)
 

Detailed Description

A constexpr version of FNV hash function. (32 bit version)

The algorithm is the FNV-1a version of Fowler–Noll–Vo (FNV) hash function as described in Wikipedia. https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function

Author
Pooyan Dadvand

Member Typedef Documentation

◆ HashType

typedef std::uint32_t Kratos::FNV1a32Hash::HashType

The hash to be employed is 32 bits this time.

Constructor & Destructor Documentation

◆ FNV1a32Hash() [1/2]

Kratos::FNV1a32Hash::FNV1a32Hash ( )
delete

The class is unconstructable.

◆ ~FNV1a32Hash()

virtual Kratos::FNV1a32Hash::~FNV1a32Hash ( )
virtualdelete

Destructor.

◆ FNV1a32Hash() [2/2]

Kratos::FNV1a32Hash::FNV1a32Hash ( FNV1a32Hash const &  rOther)
delete

Copy constructor.

Member Function Documentation

◆ CalculateHash()

static constexpr HashType Kratos::FNV1a32Hash::CalculateHash ( const char *const  TheString)
inlinestaticconstexpr

◆ operator=()

FNV1a32Hash& Kratos::FNV1a32Hash::operator= ( FNV1a32Hash const &  rOther)
delete

Assignment operator.


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