Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cHashTypeDef Class Referenceabstract

#include <cHashTypeDef.h>

Inheritance diagram for GrayLib::cHashTypeDef:
Gray::cObjectFactory GrayLib::cHashTypeMD5 GrayLib::cHashTypeSHA1 GrayLib::cHashTypeSHA224 GrayLib::cHashTypeSHA256 GrayLib::cHashTypeSHA384 GrayLib::cHashTypeSHA512

Public Member Functions

 cHashTypeDef (SSL_Hash_TYPE eHashType, const char *pszName, size_t nHashSize) noexcept
 
virtual ~cHashTypeDef ()
 
SSL_Hash_TYPE get_HashType () const noexcept
 
SSL_Hash_TYPE get_HashCode () const noexcept
 
size_t get_HashSize () const noexcept
 
virtual cHashBaseAllocHash (void) const =0
 
virtual CObjectCreateObject (void) const override
 Create CObject of some derived cTypeInfo. More...
 
virtual size_t ComputeHash (BYTE *pOutput, const BYTE *pInput, size_t nInputSize) const =0
 
 UNITTEST_FRIEND (cHashTypeDef)
 
- Public Member Functions inherited from Gray::cObjectFactory
 cObjectFactory (const char *pszName, const TYPEINFO_t &rTypeInfo) noexcept
 the typeid() of some object we would create. More...
 

Public Attributes

const SSL_Hash_TYPE m_eHashType
 Digest identifier from SSL_Hash_TYPE. More...
 
const size_t m_nHashSize
 size_t // Output length of the digest function. (bytes) More...
 
- Public Attributes inherited from Gray::cObjectFactory
const char *const m_pszName
 
const cTypeInfom_TypeInfo
 The main name we can create by. Might have multiple alternate aliases for interfaces. e.g. "IObjectName". More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gray::cObjectFactory
static CObject *__stdcall CreateObject (const char *pszName)
 
static CObject *__stdcall CreateObject (const TYPEINFO_t &type)
 

Detailed Description

Metadata about cHashBase and SSL_Hash_TYPE Hash/Message digest information. Allows message digest functions to be called in a generic way.

Constructor & Destructor Documentation

◆ cHashTypeDef()

GrayLib::cHashTypeDef::cHashTypeDef ( SSL_Hash_TYPE  eHashType,
const char *  pszName,
size_t  nHashSize 
)
inlinenoexcept

◆ ~cHashTypeDef()

virtual GrayLib::cHashTypeDef::~cHashTypeDef ( )
inlinevirtual

Member Function Documentation

◆ AllocHash()

virtual cHashBase* GrayLib::cHashTypeDef::AllocHash ( void  ) const
pure virtual

◆ ComputeHash()

virtual size_t GrayLib::cHashTypeDef::ComputeHash ( BYTE *  pOutput,
const BYTE *  pInput,
size_t  nInputSize 
) const
pure virtual

◆ CreateObject()

CObject * GrayLib::cHashTypeDef::CreateObject ( void  ) const
overridevirtual

Create CObject of some derived cTypeInfo.

Implements Gray::cObjectFactory.

◆ get_HashCode()

SSL_Hash_TYPE GrayLib::cHashTypeDef::get_HashCode ( ) const
inlinenoexcept

For sorting.

◆ get_HashSize()

size_t GrayLib::cHashTypeDef::get_HashSize ( ) const
inlinenoexcept
Returns
size of the message digest output. (bytes)

◆ get_HashType()

SSL_Hash_TYPE GrayLib::cHashTypeDef::get_HashType ( ) const
inlinenoexcept
Returns
type of the message digest output.

◆ UNITTEST_FRIEND()

GrayLib::cHashTypeDef::UNITTEST_FRIEND ( cHashTypeDef  )

Member Data Documentation

◆ m_eHashType

const SSL_Hash_TYPE GrayLib::cHashTypeDef::m_eHashType

Digest identifier from SSL_Hash_TYPE.

◆ m_nHashSize

const size_t GrayLib::cHashTypeDef::m_nHashSize

size_t // Output length of the digest function. (bytes)


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