ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/ccscs20/NullNode.hpp
Revision: 4
Committed: 2004-05-13T17:50:29-07:00 (21 years, 1 month ago) by Douglas Thrift
File size: 781 byte(s)
Log Message:
Alive!

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 public:
18 NullNode() : null(true) {}
19 NullNode(const Type& value) : Node<Type>::Node(value), null(false) {}
20 ~NullNode() {}
21 bool contains(const Type& value, NullNode<Type>* end);
22 };
23
24 template<typename Type>
25 bool NullNode<Type>::contains(const Type& value, NullNode<Type>* end)
26 {
27 NullNode<Type>* another = Node<Type>::getNext() != NULL ?
28 Node<Type>::getNext() : Node<Type>::getPrevious();
29
30 if (null && end == this)
31 {
32 return false;
33 }
34 else if (!null && value == Node<Type>::getValue())
35 {
36 return true;
37 }
38 else return another->contains(value, end);
39 }
40
41 #endif // _NullNode_hpp_

Properties

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