Isle
|
[AI] Forward declaration for MxList. More...
#include <mxlist.h>
Public Member Functions | |
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 (T p_obj) |
[AI] More... | |
void | Prepend (T p_obj) |
[AI] More... | |
void | DeleteAll () |
[AI] More... | |
void | Empty () |
[AI] More... | |
MxU32 | GetNumElements () |
[AI] More... | |
Protected Member Functions | |
void | DeleteEntry (MxListEntry< T > *) |
[AI] More... | |
MxListEntry< T > * | InsertEntry (T, MxListEntry< T > *, MxListEntry< T > *) |
[AI] More... | |
![]() | |
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... | |
![]() | |
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... | |
Protected Attributes | |
MxListEntry< T > * | m_first |
[AI] Pointer to the first entry in the list. [AI] More... | |
MxListEntry< T > * | m_last |
[AI] Pointer to the last entry in the list. [AI] More... | |
![]() | |
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... | |
Friends | |
class | MxListCursor< T > |
[AI] Allows the cursor to access protected members for traversal. [AI] More... | |
Additional Inherited Members | |
![]() | |
static void | Destroy (T obj) |
[AI] Static no-op destroy function; suitable for types that do not need destruction. More... | |
[AI] Forward declaration for MxList.
[AI]
Doubly-linked list implementation. [AI]
[AI] Provides linked-list functionality with element insertion/removal, traversal support, and ownership semantics (via associated destructors). Supports safe iteration and element access. [AI]
|
inline |
void MxList< T >::DeleteAll | ( | ) |
[AI]
Deletes all entries and calls the configured destructor for each element. [AI]
|
protected |
[AI]
Deletes a single entry from the list, adjusting pointers; does not invoke value destructor. [AI]
p_match | Entry to delete. [AI] |
void MxList< T >::Empty | ( | ) |
[AI]
Clears all entries, but does NOT call destructors on contained objects. [AI]
|
protected |
[AI]
Inserts a new entry into the list, adjusting previous/next pointers accordingly. [AI]
p_newobj | Value to insert. [AI] |
p_prev | Node to insert after (may be NULL for first). [AI] |
p_next | Node to insert before (may be NULL for last). [AI] |
|
inline |
|
friend |
|
protected |
|
protected |