#include <HashContainer.h>
Inheritance diagram for CHashContainer< hashClass >:

Public Types | |
| enum | { DIGESTSIZE = hashClass::DIGESTSIZE, DIGESTSIZE32 = DIGESTSIZE >> 2 } |
| Enumerate DIGESTSIZE constants used to compute memory sizes and various iterations. More... | |
Public Member Functions | |
| CHashContainer (const uint32 *pHash=NULL) | |
| CHashContainer (const CHashContainer &cHash) | |
| CHashContainer (CFile &cFile) | |
| CHashContainer (uint8 *pData, uint32 nData, uint8 *pSalt=NULL, uint32 nSalt=0) | |
| ~CHashContainer (void) | |
| Destroy the hash container. | |
| bool | operator== (const CHashContainer &cHash) const |
| bool | operator!= (const CHashContainer &cHash) const |
| CHashContainer< hashClass > & | operator= (const uint32 *pHash) |
| CHashContainer< hashClass > & | operator= (const CHashContainer &cHash) |
| CHashContainer< hashClass > & | operator^= (const CHashContainer &cHash) |
| CHashContainer< hashClass > | operator^ (const CHashContainer &cHash) const |
| CHashContainer< hashClass > & | operator|= (const CHashContainer &cHash) |
| CHashContainer< hashClass > | operator| (const CHashContainer &cHash) const |
| CHashContainer< hashClass > & | operator &= (const CHashContainer &cHash) |
| CHashContainer< hashClass > | operator & (const CHashContainer &cHash) const |
| CHashContainer< hashClass > & | operator<<= (const uint16 nBits) |
| CHashContainer< hashClass > | operator<< (const uint16 nBits) const |
| CHashContainer< hashClass > & | operator>>= (const uint16 nBits) |
| CHashContainer< hashClass > | operator>> (const uint16 nBits) const |
| uint8 | Hash (uint8 *pData, uint32 nData, uint8 *pSalt=NULL, uint32 nSalt=0) |
| uint8 | GetHash (uint32 *pHash) |
| uint32 * | GetHashPtr () |
| CString | GetHashHex () |
| Gets the hexadecimal representation of the data stored in containerHash. | |
Static Public Member Functions | |
| CString | StaticAlgorithmName () |
| Returns the hash algorithm name for this CHashTreeCtrl templated class. | |
| uint64 | GetCCount () |
| Returns the number of hash containers of this type that currently exist. | |
Static Public Attributes | |
| const CString | CLASSNAME = CString("CHashContainer/") + StaticAlgorithmName() |
| Defines this class' name. | |
Private Attributes | |
| uint32 | containerHash [DIGESTSIZE32] |
| This array holds the hash value. | |
Static Private Attributes | |
| volatile uint64 | containerCount = 0 |
| Counts the number of containers created. | |
| hashClass | m_Hash = hashClass() |
|
|||||
|
Enumerate DIGESTSIZE constants used to compute memory sizes and various iterations.
|
|
||||||||||
|
Create a new hash container object from uint32 or null data.
|
|
||||||||||
|
Create a new hash container object from CHashContainer. (Copy constructor.)
|
|
||||||||||
|
Create a new hash from a file.
|
|
||||||||||||||||||||||||
|
Create a new hash container nitialized with memory block hash.
|
|
||||||||||
|
Destroy the hash container.
|
|
|||||||||
|
Returns the number of hash containers of this type that currently exist.
|
|
||||||||||
|
Gets a copy of this hash.
|
|
|||||||||
|
Gets the hexadecimal representation of the data stored in containerHash. Gets a hex copy of this hash.
|
|
|||||||||
|
Get hash data pointer, only for testing purposes. Either obtain a hash copy with GetHash() or nice string version with GetHashHex(). |
|
||||||||||||||||||||||||
|
Hashes the specified data to generate the node's hash.
|
|
||||||||||
|
Bitwise Hash AND.
|
|
||||||||||
|
Self-Assignment Bitwise Hash AND.
|
|
||||||||||
|
Inequality operator.
|
|
||||||||||
|
Left Hash Shift.
|
|
||||||||||
|
Self-Assignment Left Hash Shift.
|
|
||||||||||
|
Assign hash using a CHashContainer object. (copy)
|
|
||||||||||
|
Assign hash using a uint32 pointer.
|
|
||||||||||
|
Equality operator.
|
|
||||||||||
|
Left Hash Shift.
|
|
||||||||||
|
Self-Assignment Right Hash Shift.
|
|
||||||||||
|
Bitwise Hash XOR.
|
|
||||||||||
|
Self-Assignment Bitwise Hash XOR.
|
|
||||||||||
|
Bitwise Hash OR.
|
|
||||||||||
|
Self-Assignment Bitwise Hash OR.
|
|
|||||||||
|
Returns the hash algorithm name for this CHashTreeCtrl templated class.
|
|
|||||
|
Defines this class' name.
Reimplemented in CHashTreeCtrl< hashClass >, CHashTreeNode< hashClass, CSBase, CSBuildup, CSDepth >, and CHashTreeNode< hashClass, 10,(10+2), 02 >. |
|
|||||
|
Counts the number of containers created.
|
|
|||||
|
This array holds the hash value.
|
|
|||||
|
Hash processing object. This static class member is used by CHashContainer to perform hashes. Using a static data member improves hashing performance by 10% at the cost of preventing two processes from hashing using CHashContainer at the same time. To preserve the efficiency gain of a static hashClass, access control should be loosely coupled to m_Hash's usage. |
1.3.4