protected DLink BaseSpecializedAdd() { DLink newNode = DLink.RemoveFront(ref pReserve); if (newNode == null && growthSize > 0) { RefreshReserve(); newNode = DLink.RemoveFront(ref pReserve); VirtualSpecializedAdd(ref pActive, newNode); } else if (newNode != null) { newNode.Wash(); VirtualSpecializedAdd(ref pActive, newNode); } else { Debug.Assert(false, "Cannot add new node because reserve is empty and growth size is " + growthSize); } mNumActive++; mNumReserve--; return(newNode); }
public static void PurgeAll() { DelayedObjectManager pDelayMan = DelayedObjectManager.privGetInstance(); // remove all from list while (pDelayMan.pHead != null) { DLink.RemoveFront(ref pDelayMan.pHead); } }
public override void Wash() { Debug.Assert(false); while (poHeadChild != null) { DLink pNode = DLink.RemoveFront(ref poHeadChild); pNode.Wash(); } base.Wash(); }
protected void BasePurgeAllNodes() { DLink pNode; while (this.pActive != null) { pNode = DLink.RemoveFront(ref pActive); DLink.AddToFront(ref pReserve, pNode); mNumActive--; mNumReserve++; } Debug.Assert(pActive == null); Debug.Assert(mNumActive == 0); }
static public void Process() { DelayedObjectManager pDelayMan = DelayedObjectManager.privGetInstance(); Observer pObserver = (Observer)pDelayMan.pHead; while (pObserver != null) { // Fire off remove method pObserver.Execute(); pObserver = (Observer)pObserver.GetNext(); } // remove all from list while (pDelayMan.pHead != null) { DLink.RemoveFront(ref pDelayMan.pHead); } }