/*++ Copyright (c) 1998 Microsoft Corporation All rights reserved. Module Name: dnode.h Abstract: Node template class for double link list. Author: Weihai Chen (WeihaiC) 05/12/99 Revision History: Weihai Chen (WeihaiC) 03/08/00 Rename to T* --*/ #ifndef _DNODE_H #define _DNODE_H ////////////////////////////////////////////////////////////////////// // // dnode.h: template for the DoubleList Node class. // ////////////////////////////////////////////////////////////////////// template class TDoubleNode { public: TDoubleNode (void); TDoubleNode (T); TDoubleNode (T, TDoubleNode *, TDoubleNode *); virtual ~TDoubleNode (void); void SetNext (TDoubleNode *); void SetPrev (TDoubleNode *); TDoubleNode * GetNext (); TDoubleNode * GetPrev (); BOOL IsSameItem (T&); BOOL IsSameKey (KEYTYPE&); T GetData (void); void SetData (T pData); private: T m_Data; TDoubleNode *m_pPrev; TDoubleNode *m_pNext; }; #include "dnode.inl" #endif