# IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base > Class Template Reference

`#include <iterhash.h>`

Inheritance diagram for IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >:

List of all members.

## Detailed Description

### template<class T_HashWordType, class T_Endianness, unsigned int T_BlockSize, class T_Base = HashTransformation>
class IteratedHash< T_HashWordType, T_Endianness, T_BlockSize, T_Base >

_

Definition at line 55 of file iterhash.h.

## Public Types
typedef T_Endianness | ByteOrderClass
typedef T_HashWordType | HashWordType
## Public Member Functions
unsigned int | BlockSize () const
ByteOrder | GetByteOrder () const
unsigned int | OptimalBlockSize () const
unsigned int | OptimalDataAlignment () const
void | Update (const byte *input, size_t length)
byte * | CreateUpdateSpace (size_t &size)
void | Restart ()
void | TruncatedFinal (byte *digest, size_t size)
## Static Public Member Functions
static void | CorrectEndianess (HashWordType *out, const HashWordType *in, size_t byteCount)
## Static Public Attributes
static const int | BLOCKSIZE = T_BlockSize
static CompileAssert <((T_BlockSize &(T_BlockSize-1))==0)> | cryptopp_assert___LINE__
## Protected Member Functions
T_HashWordType * | DataBuf ()
T_HashWordType | GetBitCountHi () const
T_HashWordType | GetBitCountLo () const
void | PadLastBlock (unsigned int lastBlockSize, byte padFirst=0x80)
virtual void | Init ()=0
virtual void | HashEndianCorrectedBlock (const HashWordType *data)=0
virtual size_t | HashMultipleBlocks (const T_HashWordType *input, size_t length)
void | HashBlock (const HashWordType *input)
virtual T_HashWordType * | StateBuf ()=0
## Protected Attributes
FixedSizeSecBlock < T_HashWordType, T_BlockSize/sizeof(T_HashWordType)> | m_data

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

- iterhash.h