ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/ccscs20/NullNode.hpp
(Generate patch)

Comparing NullNode.hpp (file contents):
Revision 2 by Douglas Thrift, 2004-05-12T23:40:15-07:00 vs.
Revision 3 by Douglas Thrift, 2004-05-13T00:24:51-07:00

# Line 17 | Line 17 | private:
17          NullNode<Type>* next;
18          NullNode<Type>* previous;
19   public:
20 <        NullNode() : null(false) {}
21 <        NullNode(const Type& value) : Node<Type>::Node(value), null(false) {}
20 >        NullNode() : null(true) {}
21 >        NullNode(const Type& value) : Node<Type>::Node(value), null(true) {}
22          ~NullNode() {}
23 +        void addNext(const Type& value);
24 +        void addPrevious(const Type& value);
25 +        void removeNext(void);
26 +        void removePrevious(void);
27 +        void setNext(NullNode<Type>* next) { this->next = next; }
28 +        void setPrevious(NullNode<Type>* previous) { this->previous = previous; }
29 +        NullNode<Type>* getNext(void) const { return next; }
30 +        NullNode<Type>* getPrevious(void) const { return next; }
31   };
32  
33 + template<typename Type>
34 + void NullNode<Type>::removeNext(void)
35 + {
36 +        NullNode<Type>* behind = next->next;
37 +
38 +        delete next;
39 +
40 +        next = behind;
41 + }
42 +
43 + template<typename Type>
44 + void NullNode<Type>::removePrevious(void)
45 + {
46 +        NullNode<Type>* ahead = previous->previous;
47 +
48 +        delete previous;
49 +
50 +        previous = ahead;
51 + }
52 +
53   #endif // _NullNode_hpp_

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines