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

[AI] A list for managing collections of pointers to MxStreamChunk objects, used for organizing and managing the chunks of a data stream within the engine. More...

#include <mxstreamchunklist.h>

Inheritance diagram for MxStreamChunkList:
Collaboration diagram for MxStreamChunkList:

Public Member Functions

 MxStreamChunkList ()
 [AI] Constructs a MxStreamChunkList and sets a custom destructor for contained objects. More...
 
MxS8 Compare (MxStreamChunk *p_a, MxStreamChunk *p_b) override
 [AI] Compares two MxStreamChunk pointers for list ordering. More...
 
- Public Member Functions inherited from MxList< MxStreamChunk * >
 MxList ()
 [AI] Constructor. Initializes the list pointers to null (empty list). [AI] More...
 
 ~MxList () override
 [AI] Destructor. Deletes all entries in the list and manages resource ownership. [AI] More...
 
void Append (MxStreamChunk * p_obj)
 [AI] More...
 
void Prepend (MxStreamChunk * p_obj)
 [AI] More...
 
void DeleteAll ()
 [AI] More...
 
void Empty ()
 [AI] More...
 
MxU32 GetNumElements ()
 [AI] More...
 

Static Public Member Functions

static void Destroy (MxStreamChunk *p_chunk)
 [AI] Deletes a MxStreamChunk object pointer, used as the destructor callback for the list. More...
 

Additional Inherited Members

- Protected Member Functions inherited from MxList< MxStreamChunk * >
void DeleteEntry (MxListEntry< MxStreamChunk * > *)
 [AI] More...
 
MxListEntry< MxStreamChunk * > * InsertEntry (MxStreamChunk *, MxListEntry< MxStreamChunk * > *, MxListEntry< MxStreamChunk * > *)
 [AI] More...
 
- Protected Member Functions inherited from MxCollection< T >
 MxCollection ()
 [AI] Constructs an empty collection, initializing count and default element destructor. More...
 
virtual MxS8 Compare (T a, T b)
 [AI] Compares two elements of the collection (default implementation returns zero; override in subclasses for meaningful comparison). More...
 
 ~MxCollection () override
 [AI] Virtual destructor for proper polymorphic destruction. More...
 
void SetDestroy (void(*p_customDestructor)(T))
 [AI] Assigns a custom destructor function to be used for elements of this collection. More...
 
- Protected Member Functions inherited from MxCore
 MxCore ()
 [AI] Constructs a new MxCore object and assigns it a unique id. More...
 
virtual ~MxCore ()
 [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
 
virtual MxLong Notify (MxParam &p_param)
 [AI] Virtual callback notification mechanism. More...
 
virtual MxResult Tickle ()
 [AI] Called by tickle managers to allow the object to update itself. More...
 
virtual const char * ClassName () const
 [AI] Returns the runtime class name of this object. More...
 
virtual MxBool IsA (const char *p_name) const
 [AI] Checks whether this object's class type or parents match the given name. More...
 
MxU32 GetId ()
 [AI] Gets the unique (per-process) id assigned to this object instance. More...
 
- Static Protected Member Functions inherited from MxCollection< T >
static void Destroy (T obj)
 [AI] Static no-op destroy function; suitable for types that do not need destruction. More...
 
- Protected Attributes inherited from MxList< MxStreamChunk * >
MxListEntry< MxStreamChunk * > * m_first
 [AI] Pointer to the first entry in the list. [AI] More...
 
MxListEntry< MxStreamChunk * > * m_last
 [AI] Pointer to the last entry in the list. [AI] More...
 
- Protected Attributes inherited from MxCollection< T >
MxU32 m_count
 [AI] Number of elements currently stored in the collection. More...
 
void(* m_customDestructor )(T)
 [AI] Function pointer to the custom element destructor used for cleanup of elements. More...
 

Detailed Description

[AI] A list for managing collections of pointers to MxStreamChunk objects, used for organizing and managing the chunks of a data stream within the engine.

[AI] This class specializes the MxList template for objects of type MxStreamChunk*, and provides comparison and destruction methods optimized for chunk objects.

Definition at line 20 of file mxstreamchunklist.h.

Constructor & Destructor Documentation

◆ MxStreamChunkList()

MxStreamChunkList::MxStreamChunkList ( )
inline

[AI] Constructs a MxStreamChunkList and sets a custom destructor for contained objects.

[AI] Ensures that destroying the list will delete the chunk pointers held within, by assigning the Destroy callback to m_customDestructor.

Definition at line 26 of file mxstreamchunklist.h.

Member Function Documentation

◆ Compare()

MxS8 MxStreamChunkList::Compare ( MxStreamChunk p_a,
MxStreamChunk p_b 
)
inlineoverride

[AI] Compares two MxStreamChunk pointers for list ordering.

Parameters
p_aFirst MxStreamChunk pointer to compare. [AI]
p_bSecond MxStreamChunk pointer to compare. [AI]

[AI] Returns 0 if pointers are equal, -1 if p_a < p_b, and 1 otherwise. Used to maintain order or detect duplicates in the collection.

Definition at line 34 of file mxstreamchunklist.h.

◆ Destroy()

static void MxStreamChunkList::Destroy ( MxStreamChunk p_chunk)
inlinestatic

[AI] Deletes a MxStreamChunk object pointer, used as the destructor callback for the list.

Parameters
p_chunkPointer to MxStreamChunk to be deleted. [AI]

[AI] This static method is called during destruction/cleanup of the list to free associated memory.

Definition at line 44 of file mxstreamchunklist.h.


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