/***************************************************************************** * CList::InsertBefore() ***************************************************************************** * Inserts a given list item before a second list item (which is presumed to * be a list member). Inserts the given list item at the head if there is * no preceding list item. */ void CList::InsertBefore(CListItem *pItem,CListItem *pInsert) { CListItem *prev = GetPrev(pItem); ASSERT(pInsert != pItem); pInsert->SetNext(pItem); if (prev) { ASSERT(pInsert != prev); prev->SetNext(pInsert); } else { m_pHead = pInsert; } }