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

# 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 Douglas Thrift 4 template<typename Type>
13 Douglas Thrift 1 class NullNode : public Node<Type>
14     {
15     private:
16     bool null;
17     public:
18 Douglas Thrift 3 NullNode() : null(true) {}
19 Douglas Thrift 4 NullNode(const Type& value) : Node<Type>::Node(value), null(false) {}
20 Douglas Thrift 1 ~NullNode() {}
21 Douglas Thrift 4 bool contains(const Type& value, NullNode<Type>* end);
22 Douglas Thrift 1 };
23    
24 Douglas Thrift 3 template<typename Type>
25 Douglas Thrift 4 bool NullNode<Type>::contains(const Type& value, NullNode<Type>* end)
26 Douglas Thrift 3 {
27 Douglas Thrift 4 NullNode<Type>* another = Node<Type>::getNext() != NULL ?
28     Node<Type>::getNext() : Node<Type>::getPrevious();
29 Douglas Thrift 3
30 Douglas Thrift 4 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 Douglas Thrift 3 }
40    
41 Douglas Thrift 1 #endif // _NullNode_hpp_

Properties

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