#include <baselist.h>
Template for list head pointing to elements of T.
T | Content of the list node. |
NODE | List node containing T. |
Public Member Functions | |
BaseListHead () | |
~BaseListHead () | |
BaseListHead (BaseListHead &&src) | |
MAXON_OPERATOR_MOVE_ASSIGNMENT (BaseListHead) | |
Int | GetCount () const |
Bool | IsEmpty () const |
Bool | IsPopulated () const |
T * | GetElement (Int idx) const |
NODE * | GetNode (Int idx) const |
NODE * | GetInsertEraseNode (Int idx) const |
Int | GetIndex (const T *x) const |
NODE * | Begin () const |
NODE * | End () const |
Public Member Functions inherited from BaseListLink< NODE > | |
BaseListLink (NODE *prev=nullptr, NODE *next=nullptr, Bool is_head=false) | |
BaseListLink (BaseListLink &&src) | |
void | MoveFrom (NODE *thisNode, BaseListLink &src) |
MAXON_OPERATOR_MOVE_ASSIGNMENT (BaseListLink) | |
NODE * | _GetNext () const |
NODE * | _GetPrev () const |
Bool | IsListHead () const |
Bool | IsInList () const |
NODE * | _GetNextChecked () const |
NODE * | _GetPrevChecked () const |
void | SetNext (NODE *val) |
void | SetPrev (NODE *val) |
Additional Inherited Members | |
Static Public Member Functions inherited from BaseListLink< NODE > | |
static void | Remove (NODE *remove) |
static void | MoveBefore (NODE *move, NODE *next) |
static void | InsertBefore (NODE *insert, NODE *next) |
static void | InsertAfter (NODE *insert, NODE *prev) |
Public Attributes inherited from BaseListLinkPOD | |
void * | _next |
UInt | _prevFlag |
Protected Member Functions inherited from BaseListLink< NODE > | |
void | SetListHead (Bool val) |
Static Protected Member Functions inherited from BaseListLink< NODE > | |
static UInt | ComputePrevFlag (const NODE *prev, Bool head) |
Static Protected Attributes inherited from BaseListLink< NODE > | |
static const UInt | HEAD_FLAG |
static const UInt | INFO_FLAG |
static const UInt | INFO_MASK |
static const UInt | ADDRESS_MASK |
BaseListHead | ( | ) |
~BaseListHead | ( | ) |
BaseListHead | ( | BaseListHead< T, NODE > && | src | ) |
move constructor
MAXON_OPERATOR_MOVE_ASSIGNMENT | ( | BaseListHead< T, NODE > | ) |
move assignment operator
Int GetCount | ( | ) | const |
Gets the number of elements.
Bool IsEmpty | ( | ) | const |
Checks if the list is empty. This is the same as GetCount() == 0
Bool IsPopulated | ( | ) | const |
Checks if the list contains anything. This is the same as GetCount() != 0
T* GetElement | ( | Int | idx | ) | const |
Gets the element by index.
NODE* GetNode | ( | Int | idx | ) | const |
NODE* GetInsertEraseNode | ( | Int | idx | ) | const |
Int GetIndex | ( | const T * | x | ) | const |
Gets the index of the element. The element must be part of the array, otherwise (e.g. if x is a copy of an array element) InvalidArrayIndex will be returned.
NODE* Begin | ( | ) | const |
Gets the pointer to the first node.
NODE* End | ( | ) | const |
Gets the pointer to the virtual end node (the node after the last node). This is the address of a virtual (non-existing) node that contains this list head.