/*++ Copyright (c) 1998 Microsoft Corporation All rights reserved. Module Name: dnode.inl Abstract: Node template class. Author: Weihai Chen (WeihaiC) 06/29/98 Revision History: --*/ template TDoubleNode::TDoubleNode(void): m_Data(NULL), m_pPrev(NULL), m_Next(NULL) { } template TDoubleNode::TDoubleNode(T item): m_Data(item), m_pPrev(NULL), m_pNext(NULL) { } template TDoubleNode::TDoubleNode(T item, TDoubleNode* pPrev, TDoubleNode* pNext): m_Data(item), m_pPrev(pPrev), m_pNext(pNext) { } template TDoubleNode::~TDoubleNode(void) { if (m_Data) { delete (m_Data); } } template void TDoubleNode::SetNext (TDoubleNode *pNode) { m_pNext = pNode; } template TDoubleNode * TDoubleNode::GetNext (void ) { return m_pNext; } template void TDoubleNode::SetPrev ( TDoubleNode *pNode) { m_pPrev = pNode; } template TDoubleNode * TDoubleNode::GetPrev (void ) { return m_pPrev; } template T TDoubleNode::GetData (void ) { return m_Data; } template void TDoubleNode::SetData (T pData) { m_Data = pData; } template BOOL TDoubleNode::IsSameItem (T &item) { return m_Data->Compare (item) == 0; } template BOOL TDoubleNode::IsSameKey (KEYTYPE &key) { return m_Data->Compare (key) == 0; }