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 70 of file tll.h.

00070                                                                                  :
00071 pThisObject(pNewObject),pMyNext(pNext),pMyPrevious(pPrevious)
00072 {
00073 }

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

Definition at line 36 of file tll.h.

00036 {}


Member Function Documentation

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

Implements Node< T >.

Definition at line 50 of file tll.h.

References InternalNode< T >::ModifyLinkPosition().

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

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

Implements Node< T >.

Definition at line 38 of file tll.h.

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

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

Implements Node< T >.

Definition at line 43 of file tll.h.

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

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

Implements Node< T >.

Definition at line 76 of file tll.h.

References bigger, same, and smaller.

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

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

Implements Node< T >.

Definition at line 40 of file tll.h.

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

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

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

Implements Node< T >.

Definition at line 42 of file tll.h.

00042 {pMyNext = pNext;}

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

Implements Node< T >.

Definition at line 41 of file tll.h.

00041 {pMyPrevious = pPrevious;}


The documentation for this class was generated from the following file:
Generated on Fri Dec 23 05:15:51 2005 for Constructive Solid Geometry by doxygen1.2.15