Nazara Engine  0.4
A fast, complete, cross-platform API designed for game development
Nz::AbstractHash Class Referenceabstract

Core class that represents the behaviour of the hash classes. More...

Inherited by Nz::HashCRC32, Nz::HashCRC64, Nz::HashFletcher16, Nz::HashMD5, Nz::HashSHA1, Nz::HashSHA224, Nz::HashSHA256, Nz::HashSHA384, Nz::HashSHA512, and Nz::HashWhirlpool.

Public Member Functions

 AbstractHash (const AbstractHash &)=delete
 
 AbstractHash (AbstractHash &&)=default
 
virtual void Append (const UInt8 *data, std::size_t len)=0
 
virtual void Begin ()=0
 
virtual ByteArray End ()=0
 
virtual std::size_t GetDigestLength () const =0
 
virtual const char * GetHashName () const =0
 
AbstractHashoperator= (const AbstractHash &)=delete
 
AbstractHashoperator= (AbstractHash &&)=default
 

Static Public Member Functions

static std::unique_ptr< AbstractHashGet (HashType hash)
 Factory of Hash classes in function of HashType. More...
 

Detailed Description

Core class that represents the behaviour of the hash classes.

Remarks
This class is abstract

Member Function Documentation

◆ Get()

std::unique_ptr< AbstractHash > Nz::AbstractHash::Get ( HashType  type)
static

Factory of Hash classes in function of HashType.

Returns
A new instance of the Hash class according to the HashType
Parameters
typeEnumeration of type HashType
Remarks
If enumeration is not defined in HashType, a NazaraInternalError is thrown and nullptr is returned

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