ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/ccscs20/NullNode.hpp
Revision: 3
Committed: 2004-05-13T00:24:51-07:00 (21 years, 1 month ago) by Douglas Thrift
File size: 1060 byte(s)
Log Message:
Zarg!

File Contents

# User Rev Content
1 Douglas Thrift 1 // Null Node
2     //
3     // Douglas Thrift
4     //
5     // $Id$
6    
7     #ifndef _NullNode_hpp_
8     #define _NullNode_hpp_
9    
10     #include "Node.hpp"
11    
12     template <typename Type>
13     class NullNode : public Node<Type>
14     {
15     private:
16     bool null;
17     NullNode<Type>* next;
18     NullNode<Type>* previous;
19     public:
20 Douglas Thrift 3 NullNode() : null(true) {}
21     NullNode(const Type& value) : Node<Type>::Node(value), null(true) {}
22 Douglas Thrift 1 ~NullNode() {}
23 Douglas Thrift 3 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 Douglas Thrift 1 };
32    
33 Douglas Thrift 3 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 Douglas Thrift 1 #endif // _NullNode_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id