#ifndef _SITEM_H #define _SITEM_H ////////////////////////////////////////////////////////////////////// // // sitem.h: template for the SingleList Item class. // ////////////////////////////////////////////////////////////////////// template class CSingleItem { public: CSingleItem (void); CSingleItem (T); CSingleItem (T, CSingleItem *); ~CSingleItem (void); void SetNext (CSingleItem *); CSingleItem * GetNext (); BOOL IsSame (T&); T GetData (void); private: T m_Data; CSingleItem *m_Next; }; ////////////////////////////////////////////////////////////////////// // Template for CSIngleItem ////////////////////////////////////////////////////////////////////// template CSingleItem::CSingleItem(void) : m_Data(NULL), m_Next(NULL) { } template CSingleItem::CSingleItem(T item) : m_Data(item), m_Next(NULL) { } template CSingleItem::CSingleItem(T item, CSingleItem* next) : m_Data(item), m_Next(next) { } template CSingleItem::~CSingleItem(void) { if (m_Data) { delete (m_Data); } } template void CSingleItem::SetNext (CSingleItem *item) { m_Next = item; } template CSingleItem * CSingleItem::GetNext (void ) { return m_Next; } template T CSingleItem::GetData (void ) { return m_Data; } template BOOL CSingleItem::IsSame (T &item) { return m_Data->Compare (item) == 0; } #endif