Developers.Hash.TigerTree.Documenting
Public
<source lang="c"> void SetupAndAllocate(DWORD nHeight, QWORD nLength); void SetupParameters(QWORD nLength); void Clear(); void Serialize(CArchive& ar); DWORD GetSerialSize() const; </source>
<source lang="c"> BOOL GetRoot(TIGEROOT* pTiger) const; CString RootToString() const; void Assume(CTigerTree* pSource); </source>
<source lang="c"> void BeginFile(DWORD nHeight, QWORD nLength); void AddToFile(LPCVOID pInput, DWORD nLength); BOOL FinishFile(); </source>
<source lang="c"> void BeginBlockTest(); void AddToTest(LPCVOID pInput, DWORD nLength); BOOL FinishBlockTest(DWORD nBlock); </source>
<source lang="c"> BOOL ToBytes(BYTE** pOutput, DWORD* pnOutput, DWORD nHeight = 0); BOOL FromBytes(BYTE* pOutput, DWORD nOutput, DWORD nHeight, QWORD nLength); BOOL CheckIntegrity(); void Dump(); </source>
Inlines
<source lang="c"> inline BOOL IsAvailable() const { return m_pNode != NULL; } inline DWORD GetHeight() const { return m_nHeight; } inline DWORD GetBlockLength() const { return 1024 * m_nBlockCount; } inline DWORD GetBlockCount() const { return m_nBaseUsed; } </source>
Attributes
<source lang="c"> DWORD m_nHeight; CTigerNode* m_pNode; DWORD m_nNodeCount; </source>
Processing data, and implementation
<source lang="c"> // Processing Data protected: DWORD m_nNodeBase; DWORD m_nNodePos; DWORD m_nBaseUsed; DWORD m_nBlockCount; DWORD m_nBlockPos; CTigerNode* m_pStackBase; CTigerNode* m_pStackTop; protected: static WORD64 m_pTable[4*256];
// Implementation protected: inline void Collapse(); inline void BlocksToNode(); inline void Tiger(LPCVOID pInput, WORD64 nInput, WORD64* pOutput,
WORD64* pInput1 = NULL, WORD64* pInput2 = NULL);
inline void Tiger(const WORD64* str, WORD64* state); </source>