// // Generated by dtk // Translation Unit: c_list.cpp // #include "SSystem/SComponent/c_list.h" #include "SSystem/SComponent/c_node.h" #include "dolphin/types.h" /* 802449F4-80244A08 .text cLs_Init__FP15node_list_class */ void cLs_Init(node_list_class* pList) { pList->mpHead = NULL; pList->mpTail = NULL; pList->mSize = 0; } /* 80244A08-80244A8C .text cLs_SingleCut__FP10node_class */ int cLs_SingleCut(node_class* pNode) { node_list_class* pList = (node_list_class*)pNode->mpData; if (pNode == pList->mpHead) pList->mpHead = pNode->mpNextNode; if (pNode == pList->mpTail) pList->mpTail = pNode->mpPrevNode; cNd_SingleCut(pNode); cNd_ClearObject(pNode); int newSize = pList->mSize - 1; pList->mSize = newSize; return newSize > 0; } /* 80244A8C-80244B00 .text cLs_Addition__FP15node_list_classP10node_class */ int cLs_Addition(node_list_class* pList, node_class* pNode) { if (pList->mpTail == NULL) { pList->mpHead = pNode; } else { cNd_Addition(pList->mpTail, pNode); } pList->mpTail = cNd_Last(pNode); cNd_SetObject(pNode, pList); pList->mSize = cNd_LengthOf(pList->mpHead); return pList->mSize; } /* 80244B00-80244B88 .text cLs_Insert__FP15node_list_classiP10node_class */ int cLs_Insert(node_list_class* pList, int idx, node_class* pNode) { node_class* pExisting = cNd_Order(pList->mpHead, idx); if (pExisting == NULL) { return cLs_Addition(pList, pNode); } else { cNd_SetObject(pNode, pList); cNd_Insert(pExisting, pNode); pList->mpHead = cNd_First(pNode); pList->mSize = cNd_LengthOf(pList->mpHead); return pList->mSize; } } /* 80244B88-80244BD0 .text cLs_GetFirst__FP15node_list_class */ node_class* cLs_GetFirst(node_list_class* pList) { if (pList->mSize != 0) { node_class* pHead = pList->mpHead; cLs_SingleCut(pHead); return pHead; } else { return NULL; } } /* 80244BD0-80244BF0 .text cLs_Create__FP15node_list_class */ void cLs_Create(node_list_class* pList) { cLs_Init(pList); }