Isle
Loading...
Searching...
No Matches
LegoMemory Class Reference

Implementation of LegoStorage for memory-backed buffers. More...

#include <legostorage.h>

Inheritance diagram for LegoMemory:
Collaboration diagram for LegoMemory:

Public Member Functions

 LegoMemory (void *p_buffer)
 Constructor setting internal buffer pointer and resets position. More...
 
LegoResult Read (void *p_buffer, LegoU32 p_size) override
 Reads bytes from memory buffer at current position. More...
 
LegoResult Write (const void *p_buffer, LegoU32 p_size) override
 Writes bytes to memory buffer at current position. More...
 
LegoResult GetPosition (LegoU32 &p_position) override
 Gets the current offset into the memory buffer. More...
 
LegoResult SetPosition (LegoU32 p_position) override
 Sets the current offset into the memory buffer. More...
 
- Public Member Functions inherited from LegoStorage
 LegoStorage ()
 Default constructor initializing mode to zero. More...
 
virtual ~LegoStorage ()
 Virtual destructor for safe polymorphic destruction. More...
 
virtual LegoResult Read (void *p_buffer, LegoU32 p_size)=0
 Read bytes from storage into buffer. More...
 
virtual LegoResult Write (const void *p_buffer, LegoU32 p_size)=0
 Write bytes from buffer into storage. More...
 
virtual LegoResult GetPosition (LegoU32 &p_position)=0
 Get current read/write position in stream. More...
 
virtual LegoResult SetPosition (LegoU32 p_position)=0
 Set current read/write position in stream. More...
 
virtual LegoBool IsWriteMode ()
 Returns TRUE if object was opened in write mode. More...
 
virtual LegoBool IsReadMode ()
 Returns TRUE if object was opened in read mode. More...
 
LegoStorageWriteString (const char *p_data)
 Writes a length-prefixed string to storage. More...
 
LegoStorageWriteU8 (LegoU8 p_data)
 Writes an 8-bit unsigned value to storage. More...
 
LegoStorageWriteS16 (LegoS16 p_data)
 Writes a 16-bit signed value to storage. More...
 
LegoStorageWriteU16 (LegoU16 p_data)
 Writes a 16-bit unsigned value to storage. More...
 
LegoStorageWriteS32 (MxS32 p_data)
 Writes a 32-bit signed value to storage. More...
 
LegoStorageWriteU32 (MxU32 p_data)
 Writes a 32-bit unsigned value to storage. More...
 
LegoStorageWriteFloat (LegoFloat p_data)
 Writes a floating-point (single-precision) value to storage. More...
 
LegoStorageWriteVector (Mx3DPointFloat p_data)
 Writes a 3D vector (three floats) to storage. More...
 
LegoStorageWriteMxString (MxString p_data)
 Writes a length-prefixed MxString to storage. More...
 
LegoStorageReadString (char *p_data)
 Reads a length-prefixed string from storage. More...
 
LegoStorageReadU8 (LegoU8 &p_data)
 Reads an 8-bit unsigned value from storage. More...
 
LegoStorageReadS16 (LegoS16 &p_data)
 Reads a 16-bit signed value from storage. More...
 
LegoStorageReadU16 (LegoU16 &p_data)
 Reads a 16-bit unsigned value from storage. More...
 
LegoStorageReadS32 (MxS32 &p_data)
 Reads a 32-bit signed value from storage. More...
 
LegoStorageReadU32 (MxU32 &p_data)
 Reads a 32-bit unsigned value from storage. More...
 
LegoStorageReadFloat (LegoFloat &p_data)
 Reads a floating-point (single-precision) value from storage. More...
 
LegoStorageReadVector (Mx3DPointFloat &p_data)
 Reads a 3D vector (three floats) from storage. More...
 
LegoStorageReadMxString (MxString &p_data)
 Reads a length-prefixed string and stores it in an MxString object. More...
 

Protected Attributes

LegoU8m_buffer
 Pointer to target memory buffer for reading/writing. More...
 
LegoU32 m_position
 Current read/write offset in buffer. More...
 
- Protected Attributes inherited from LegoStorage
LegoU8 m_mode
 File open/access mode. More...
 

Additional Inherited Members

- Public Types inherited from LegoStorage
enum  OpenFlags { c_read = 1 , c_write = 2 , c_text = 4 }
 File open mode flags for storage operations. More...
 

Detailed Description

Implementation of LegoStorage for memory-backed buffers.

[AI]

Provides read/write operations on a raw memory buffer, keeping track of the current offset. [AI]

Definition at line 317 of file legostorage.h.

Constructor & Destructor Documentation

◆ LegoMemory()

LegoMemory::LegoMemory ( void *  p_buffer)

Constructor setting internal buffer pointer and resets position.

[AI]

Parameters
p_bufferPointer to memory buffer for storage [AI]

Definition at line 13 of file legostorage.cpp.

Member Function Documentation

◆ GetPosition()

LegoResult LegoMemory::GetPosition ( LegoU32 p_position)
inlineoverridevirtual

Gets the current offset into the memory buffer.

[AI]

Parameters
p_positionReference to store position [AI]
Returns
SUCCESS [AI]

Implements LegoStorage.

Definition at line 346 of file legostorage.h.

◆ Read()

LegoResult LegoMemory::Read ( void *  p_buffer,
LegoU32  p_size 
)
overridevirtual

Reads bytes from memory buffer at current position.

[AI]

Parameters
p_bufferOutput buffer to receive bytes [AI]
p_sizeNumber of bytes to read [AI]
Returns
SUCCESS if operation completed, FAILURE otherwise [AI]

Implements LegoStorage.

Definition at line 20 of file legostorage.cpp.

◆ SetPosition()

LegoResult LegoMemory::SetPosition ( LegoU32  p_position)
inlineoverridevirtual

Sets the current offset into the memory buffer.

[AI]

Parameters
p_positionNew position [AI]
Returns
SUCCESS [AI]

Implements LegoStorage.

Definition at line 357 of file legostorage.h.

◆ Write()

LegoResult LegoMemory::Write ( const void *  p_buffer,
LegoU32  p_size 
)
overridevirtual

Writes bytes to memory buffer at current position.

[AI]

Parameters
p_bufferInput buffer containing bytes to write [AI]
p_sizeNumber of bytes to write [AI]
Returns
SUCCESS if operation completed, FAILURE otherwise [AI]

Implements LegoStorage.

Definition at line 28 of file legostorage.cpp.

Member Data Documentation

◆ m_buffer

LegoU8* LegoMemory::m_buffer
protected

Pointer to target memory buffer for reading/writing.

[AI]

Definition at line 373 of file legostorage.h.

◆ m_position

LegoU32 LegoMemory::m_position
protected

Current read/write offset in buffer.

[AI]

Definition at line 378 of file legostorage.h.


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