Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

InternalNode< T > Class Template Reference

#include <tll.h>

Inheritance diagram for InternalNode< T >:

Node< T > List of all members.

Public Methods

 InternalNode (T *pNewObject, Node< T > *pNext, Node< T > *pPrevious)
 ~InternalNode ()
virtual Node< T > * Insert (T *pNewObject, Node< T > *pPrevious)
virtual void DeleteList ()
virtual void ModifyLinkPosition ()
virtual void SetPrevious (Node< T > *pPrevious)
virtual void SetNext (Node< T > *pNext)
virtual T * Get (int val)
virtual void Delete (int val)

template<class T>
class InternalNode< T >


Constructor & Destructor Documentation

template<class T>
InternalNode< T >::InternalNode T *    pNewObject,
Node< T > *    pNext,
Node< T > *    pPrevious
 

Definition at line 67 of file tll.h.

00067                                                                                  :
00068 pThisObject(pNewObject),pMyNext(pNext),pMyPrevious(pPrevious)
00069 {
00070 }

template<class T>
InternalNode< T >::~InternalNode   [inline]
 

Definition at line 35 of file tll.h.

00035 {}


Member Function Documentation

template<class T>
virtual void InternalNode< T >::Delete int    val [inline, virtual]
 

Implements Node< T >.

Definition at line 48 of file tll.h.

References InternalNode< T >::ModifyLinkPosition().

00049   {
00050     if (pThisObject->GetMyPosition() == val)
00051     {
00052       this->ModifyLinkPosition();
00053       pMyNext->SetPrevious(pMyPrevious);
00054       pMyPrevious->SetNext(pMyNext);
00055       delete this;
00056     }
00057     else
00058       pMyNext->Delete(val);
00059   }

template<class T>
virtual void InternalNode< T >::DeleteList   [inline, virtual]
 

Implements Node< T >.

Definition at line 37 of file tll.h.

00037 {pMyNext->DeleteList(); delete pThisObject; delete this;}

template<class T>
virtual T* InternalNode< T >::Get int    val [inline, virtual]
 

Implements Node< T >.

Definition at line 41 of file tll.h.

00042   {
00043     if (pThisObject->GetMyPosition() == val)
00044       return pThisObject;
00045     else
00046       return pMyNext->Get(val);
00047   }

template<class T>
Node< T > * InternalNode< T >::Insert T *    pNewObject,
Node< T > *    pPrevious
[virtual]
 

Implements Node< T >.

Definition at line 73 of file tll.h.

References bigger, same, and smaller.

00074 {
00075   int answer = pThisObject->Compare(*pNewObject);
00076   switch(answer)
00077   {
00078     case same:
00079     case bigger:
00080     {
00081       InternalNode<T> * internal = new InternalNode<T>(pNewObject, this, pPrevious);
00082       pMyPrevious->SetNext(internal);
00083       pMyPrevious = internal;
00084       return internal;
00085     }
00086     case smaller:
00087       pMyNext = pMyNext->Insert(pNewObject, this);
00088     return this;
00089   }
00090   return this;
00091 }

template<class T>
virtual void InternalNode< T >::ModifyLinkPosition   [inline, virtual]
 

Implements Node< T >.

Definition at line 38 of file tll.h.

Referenced by InternalNode< T >::Delete().

00038 {pMyNext->ModifyLinkPosition(); pThisObject->linkPosition--;}

template<class T>
virtual void InternalNode< T >::SetNext Node< T > *    pNext [inline, virtual]
 

Implements Node< T >.

Definition at line 40 of file tll.h.

00040 {pMyNext = pNext;}

template<class T>
virtual void InternalNode< T >::SetPrevious Node< T > *    pPrevious [inline, virtual]
 

Implements Node< T >.

Definition at line 39 of file tll.h.

00039 {pMyPrevious = pPrevious;}


The documentation for this class was generated from the following file:
Generated on Fri Dec 23 05:20:21 2005 for Portals by doxygen1.2.15