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

#include <cHashTypeDef.h>

Inheritance diagram for GrayLib::cHashTypeMgr:
Gray::cSingleton< cHashTypeMgr > Gray::cSingletonStatic< TYPE > Gray::cSingletonRegister Gray::CObject Gray::cHeapObject Gray::IHeapObject

Public Member Functions

 cHashTypeMgr ()
 
void AddHashType (const cHashTypeDef *pDef)
 
const cHashTypeDefGetHashType (SSL_Hash_TYPE e) const noexcept
 
const cHashTypeDefGetHashTypeBySize (size_t nSizeMin) const
 
void InitAllHashTypes ()
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 
- Public Member Functions inherited from Gray::cHeapObject
 cHeapObject ()
 
virtual ~cHeapObject ()
 
bool IsValidInsideN (INT_PTR index) const
 
bool IsValidInsidePtr (void const *pTest) const
 
virtual size_t GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const
 
virtual bool isValidCheck () const noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from Gray::cSingleton< cHashTypeMgr >
static cHashTypeMgr *__stdcall get_Single ()
 
static TYPE2 *__stdcall get_SingleT ()
 
static cHashTypeMgr &__stdcall I ()
 
- Static Public Member Functions inherited from Gray::cSingletonStatic< TYPE >
static bool isSingleCreated () noexcept
 
static TYPEget_SingleU () noexcept
 
static TYPEget_Single ()
 
template<class TYPE2 >
static TYPE2 *__stdcall get_SingleCast ()
 
static TYPEI () noexcept
 
- Static Public Member Functions inherited from Gray::cSingletonRegister
static void __stdcall ReleaseModule (HMODULE hMod)
 
- Static Public Attributes inherited from Gray::cSingletonRegister
static cThreadLockFast sm_LockSingle
 common lock for all cSingleton. More...
 
- Protected Member Functions inherited from Gray::cSingleton< cHashTypeMgr >
 cSingleton (cHashTypeMgr *pObject, const TYPEINFO_t &rAddrCode=typeid(cHashTypeMgr)) noexcept
 
virtual ~cSingleton ()
 
- Protected Member Functions inherited from Gray::cSingletonStatic< TYPE >
 cSingletonStatic (TYPE *pObject) noexcept
 
virtual ~cSingletonStatic () noexcept
 
- Protected Member Functions inherited from Gray::cSingletonRegister
 cSingletonRegister (const TYPEINFO_t &rAddrCode) noexcept
 
virtual ~cSingletonRegister ()
 
void RegisterSingleton ()
 
- Protected Member Functions inherited from Gray::cHeapObject
const void * get_HeapPtr () const noexcept override
 Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More...
 
- Protected Attributes inherited from Gray::cSingletonRegister
HMODULE m_hModuleLoaded
 What modules loaded this ? So singletons can be destroyed if DLL/SO unloads. More...
 
- Static Protected Attributes inherited from Gray::cSingletonStatic< TYPE >
static TYPEsm_pThe = nullptr
 pointer to the one and only object of this TYPE. ASSUME automatically init to = nullptr. More...
 

Detailed Description

Manage all the hash types we support.

Constructor & Destructor Documentation

◆ cHashTypeMgr()

GrayLib::cHashTypeMgr::cHashTypeMgr ( )

Member Function Documentation

◆ AddHashType()

void GrayLib::cHashTypeMgr::AddHashType ( const cHashTypeDef pDef)
inline

◆ GetHashType()

const cHashTypeDef* GrayLib::cHashTypeMgr::GetHashType ( SSL_Hash_TYPE  e) const
inlinenoexcept

◆ GetHashTypeBySize()

const cHashTypeDef * GrayLib::cHashTypeMgr::GetHashTypeBySize ( size_t  nSizeMin) const

try to pick up a decent hasher by size. Since we can't ensure the caller will pass a valid eHashType before the next interface change,

  • nSizeMin = the minimum size in bytes of the MD output.

◆ InitAllHashTypes()

void GrayLib::cHashTypeMgr::InitAllHashTypes ( )

Only call this if you really want to bind all the code for all the hash types. Otherwise the linker should discard it?


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