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

# Content
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 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_

Properties

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