![]() |
Plasma Engine
2.0
|
Maps a raw chunk of memory to the plStreamReader interface. More...
#include <MemoryStream.h>

Public Member Functions | |
| plRawMemoryStreamWriter (void *pData, plUInt64 uiDataSize) | |
| Initialize the raw memory reader with the chunk of memory that is the data storage. | |
| template<typename CONTAINER > | |
| plRawMemoryStreamWriter (CONTAINER &ref_container) | |
| Initialize the raw memory reader with the chunk of memory from a standard pl container. | |
| void | Reset (void *pData, plUInt64 uiDataSize) |
| template<typename CONTAINER > | |
| void | Reset (CONTAINER &ref_container) |
| plUInt64 | GetStorageSize () const |
| Returns the total available bytes in the memory stream. | |
| plUInt64 | GetNumWrittenBytes () const |
| Returns the number of bytes written to the storage. | |
| void | SetDebugSourceInformation (plStringView sDebugSourceInformation) |
| Allows to set a string as the source of information in the memory stream for debug purposes. | |
| virtual plResult | WriteBytes (const void *pWriteBuffer, plUInt64 uiBytesToWrite) override |
| Copies uiBytesToWrite from pWriteBuffer into the memory stream. | |
Public Member Functions inherited from plStreamWriter | |
| plStreamWriter () | |
| Constructor. | |
| virtual | ~plStreamWriter () |
| Virtual destructor to ensure correct cleanup. | |
| virtual plResult | 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 > | |
| plResult | WriteWordValue (const T *pWordValue) |
| Helper method to write a word value correctly (copes with potentially different endianess) | |
| template<typename T > | |
| plResult | WriteDWordValue (const T *pDWordValue) |
| Helper method to write a dword value correctly (copes with potentially different endianess) | |
| template<typename T > | |
| plResult | WriteQWordValue (const T *pQWordValue) |
| Helper method to write a qword value correctly (copes with potentially different endianess) | |
| PL_ALWAYS_INLINE void | WriteVersion (plTypeVersion version) |
| Writes a type version to the stream. | |
| template<typename ArrayType , typename ValueType > | |
| plResult | WriteArray (const plArrayBase< ValueType, ArrayType > &array) |
| Writes an array of elements to the stream. | |
| template<typename ValueType , plUInt16 uiSize> | |
| plResult | WriteArray (const plSmallArrayBase< ValueType, uiSize > &array) |
| Writes a small array of elements to the stream. | |
| template<typename ValueType , plUInt32 uiSize> | |
| plResult | WriteArray (const ValueType(&array)[uiSize]) |
| Writes a C style fixed array. | |
| template<typename KeyType , typename Comparer > | |
| plResult | WriteSet (const plSetBase< KeyType, Comparer > &set) |
| Writes a set. | |
| template<typename KeyType , typename ValueType , typename Comparer > | |
| plResult | WriteMap (const plMapBase< KeyType, ValueType, Comparer > &map) |
| Writes a map. | |
| template<typename KeyType , typename ValueType , typename Hasher > | |
| plResult | WriteHashTable (const plHashTableBase< KeyType, ValueType, Hasher > &hashTable) |
| Writes a hash table (note that the entry order might change on read) | |
| plResult | WriteString (const plStringView sStringView) |
| Writes a string. | |
Maps a raw chunk of memory to the plStreamReader interface.
|
inline |
Initialize the raw memory reader with the chunk of memory from a standard pl container.
|
overridevirtual |
Copies uiBytesToWrite from pWriteBuffer into the memory stream.
pWriteBuffer must be a valid buffer and must hold that much data.
Implements plStreamWriter.