|
|
/*++
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 <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE>::TDoubleNode(void): m_Data(NULL), m_pPrev(NULL), m_Next(NULL) { }
template <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE>::TDoubleNode(T item): m_Data(item), m_pPrev(NULL), m_pNext(NULL) { }
template <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE>::TDoubleNode(T item, TDoubleNode<T, KEYTYPE>* pPrev, TDoubleNode<T, KEYTYPE>* pNext): m_Data(item), m_pPrev(pPrev), m_pNext(pNext) { }
template <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE>::~TDoubleNode(void) { if (m_Data) { delete (m_Data); } }
template <class T, class KEYTYPE> void TDoubleNode<T, KEYTYPE>::SetNext (TDoubleNode<T, KEYTYPE> *pNode) { m_pNext = pNode; }
template <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE> * TDoubleNode<T, KEYTYPE>::GetNext (void ) { return m_pNext; }
template <class T, class KEYTYPE> void TDoubleNode<T, KEYTYPE>::SetPrev ( TDoubleNode<T, KEYTYPE> *pNode) { m_pPrev = pNode; }
template <class T, class KEYTYPE> TDoubleNode<T, KEYTYPE> * TDoubleNode<T, KEYTYPE>::GetPrev (void ) { return m_pPrev; }
template <class T, class KEYTYPE> T TDoubleNode<T, KEYTYPE>::GetData (void ) { return m_Data; }
template <class T, class KEYTYPE> void TDoubleNode<T, KEYTYPE>::SetData (T pData) { m_Data = pData; }
template <class T, class KEYTYPE> BOOL TDoubleNode<T, KEYTYPE>::IsSameItem (T &item) { return m_Data->Compare (item) == 0;
}
template <class T, class KEYTYPE> BOOL TDoubleNode<T, KEYTYPE>::IsSameKey (KEYTYPE &key) { return m_Data->Compare (key) == 0;
}
|