/////////////////////////////////////////////////////// // // Private Methods // /////////////////////////////////////////////////////// // Removes the first node in the given list and clears its data private void DestroyFrontOfList(ContainerList list) { if (list.Size <= 0) { return; } ContainerNode toBeDeleted = list.PopFront(); toBeDeleted.Reset(); toBeDeleted.BaseReset(); toBeDeleted.next = null; toBeDeleted.prev = null; toBeDeleted = null; }
/// <summary> /// Takes a node from active list, clears data, and moves it to reserves /// </summary> /// <param name="query"></param> /// <param name="id"></param> /// <returns></returns> protected ContainerNode BaseDetach(Enum query, uint id) { // Look for the node to recycle ContainerNode queriedNode = this.BaseFind(query, id, this.activeList); // Give up if node wasn't found if (queriedNode == null) { return(null); } // Clear data queriedNode.BaseReset(); // Move it from the active to reserve this.Move(queriedNode, this.activeList, this.reservedList); return(queriedNode); }