![]() |
ezEngine Release 25.08
|
A stream writer that separates data into 'chunks', which act like sub-streams. More...
#include <ChunkStream.h>

Public Member Functions | |
| ezChunkStreamWriter (ezStreamWriter &inout_stream) | |
| Pass the underlying stream writer to the constructor. | |
| virtual ezResult | WriteBytes (const void *pWriteBuffer, ezUInt64 uiBytesToWrite) override |
| Writes bytes directly to the stream. Only allowed when a chunk is open (between BeginChunk / EndChunk). | |
| virtual void | BeginStream (ezUInt16 uiVersion) |
| Starts writing to the chunk file. Has to be the first thing that is called. The version number is written to the stream and is returned by ezChunkStreamReader::BeginStream() | |
| virtual void | EndStream () |
| Stops writing to the chunk file. Has to be the last thing that is called. | |
| virtual void | BeginChunk (ezStringView sName, ezUInt32 uiVersion) |
| Opens the next chunk for writing. Chunks cannot be nested (except by using multiple chunk format writers). | |
| virtual void | EndChunk () |
| Closes the current chunk. | |
Public Member Functions inherited from ezStreamWriter | |
| ezStreamWriter () | |
| Constructor. | |
| virtual | ~ezStreamWriter () |
| Virtual destructor to ensure correct cleanup. | |
| virtual ezResult | Flush () |
| Flushes the stream, may be implemented (not necessary to implement the interface correctly) so that user code can ensure that content is written. | |
| template<typename T > | |
| ezResult | WriteWordValue (const T *pWordValue) |
| Helper method to write a word value correctly (copes with potentially different endianess) | |
| template<typename T > | |
| ezResult | WriteDWordValue (const T *pDWordValue) |
| Helper method to write a dword value correctly (copes with potentially different endianess) | |
| template<typename T > | |
| ezResult | WriteQWordValue (const T *pQWordValue) |
| Helper method to write a qword value correctly (copes with potentially different endianess) | |
| EZ_ALWAYS_INLINE void | WriteVersion (ezTypeVersion version) |
| Writes a type version to the stream. | |
| template<typename ArrayType , typename ValueType > | |
| ezResult | WriteArray (const ezArrayBase< ValueType, ArrayType > &array) |
| Writes an array of elements to the stream. | |
| template<typename ValueType , ezUInt16 uiSize> | |
| ezResult | WriteArray (const ezSmallArrayBase< ValueType, uiSize > &array) |
| Writes a small array of elements to the stream. | |
| template<typename ValueType , ezUInt32 uiSize> | |
| ezResult | WriteArray (const ValueType(&array)[uiSize]) |
| Writes a C style fixed array. | |
| template<typename KeyType , typename Comparer > | |
| ezResult | WriteSet (const ezSetBase< KeyType, Comparer > &set) |
| Writes a set. | |
| template<typename KeyType , typename ValueType , typename Comparer > | |
| ezResult | WriteMap (const ezMapBase< KeyType, ValueType, Comparer > &map) |
| Writes a map. | |
| template<typename KeyType , typename ValueType , typename Hasher > | |
| ezResult | WriteHashTable (const ezHashTableBase< KeyType, ValueType, Hasher > &hashTable) |
| Writes a hash table (note that the entry order might change on read) | |
| ezResult | WriteString (const ezStringView sStringView) |
| Writes a string. | |
A stream writer that separates data into 'chunks', which act like sub-streams.
This stream writer allows to subdivide a stream into chunks, where each chunk stores a chunk name, version and size in bytes.
|
virtual |
Closes the current chunk.
|
overridevirtual |
Writes bytes directly to the stream. Only allowed when a chunk is open (between BeginChunk / EndChunk).
Implements ezStreamWriter.