XII Release 0.1.0
Loading...
Searching...
No Matches
xiiHashStreamWriter32 Class Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <HashStream.h>

Inheritance diagram for xiiHashStreamWriter32:
[legend]

Public Member Functions

 xiiHashStreamWriter32 (xiiUInt32 uiSeed=0)
 Pass an initial seed for the hash calculation.
virtual xiiResult WriteBytes (const void *pWriteBuffer, xiiUInt64 uiBytesToWrite) override
 Writes bytes directly to the stream.
xiiUInt32 GetHashValue () const
Public Member Functions inherited from xiiStreamWriter
 xiiStreamWriter ()
 Constructor.
virtual ~xiiStreamWriter ()
 Virtual destructor to ensure correct cleanup.
virtual xiiResult Flush ()
template<typename T>
xiiResult WriteWordValue (const T *pWordValue)
 Helper method to write a word value correctly (copes with potentially different endianess).
template<typename T>
xiiResult WriteDWordValue (const T *pDWordValue)
 Helper method to write a dword value correctly (copes with potentially different endianess).
template<typename T>
xiiResult WriteQWordValue (const T *pQWordValue)
 Helper method to write a qword value correctly (copes with potentially different endianess).
XII_ALWAYS_INLINE void WriteVersion (xiiTypeVersion version)
 Writes a type version to the stream.
template<typename ArrayType, typename ValueType>
xiiResult WriteArray (const xiiArrayBase< ValueType, ArrayType > &array)
 Writes an array of elements to the stream.
template<typename ValueType, xiiUInt16 uiSize>
xiiResult WriteArray (const xiiSmallArrayBase< ValueType, uiSize > &array)
 Writes a small array of elements to the stream.
template<typename ValueType, xiiUInt32 uiSize>
xiiResult WriteArray (const ValueType(&array)[uiSize])
 Writes a C style fixed array.
template<typename KeyType, typename Comparer>
xiiResult WriteSet (const xiiSetBase< KeyType, Comparer > &set)
 Writes a set.
template<typename KeyType, typename ValueType, typename Comparer>
xiiResult WriteMap (const xiiMapBase< KeyType, ValueType, Comparer > &map)
 Writes a map.
template<typename KeyType, typename ValueType, typename Hasher>
xiiResult WriteHashTable (const xiiHashTableBase< KeyType, ValueType, Hasher > &hashTable)
 Writes a hash table (note that the entry order might change on read).
xiiResult WriteString (const xiiStringView sStringView)
 Writes a string.

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

A stream writer that hashes the data written to it.

This stream writer allows to conveniently generate a 32 bit hash value for any kind of data.

Member Function Documentation

◆ GetHashValue()

xiiUInt32 xiiHashStreamWriter32::GetHashValue ( ) const

Returns the current hash value. You can read this at any time between write operations, or after writing is done to get the final hash value.

◆ WriteBytes()

xiiResult xiiHashStreamWriter32::WriteBytes ( const void * pWriteBuffer,
xiiUInt64 uiBytesToWrite )
overridevirtual

Writes bytes directly to the stream.

Implements xiiStreamWriter.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Algorithm/HashStream.h
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Algorithm/Implementation/HashStream.cpp