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

Comparing DoublyLinkedList.hpp (file contents):
Revision 2 by Douglas Thrift, 2004-05-12T23:40:15-07:00 vs.
Revision 7 by Douglas Thrift, 2004-05-14T00:13:01-07:00

# Line 14 | Line 14 | template<typename Type>
14   class DoublyLinkedList
15   {
16   private:
17 <        NullNode<Type>* front;
18 <        NullNode<Type>* back;
17 >        NullNode<Type> front;
18 >        NullNode<Type> back;
19   public:
20 <        DoublyLinkedList() {}
21 <        ~DoublyLinkedList() {}
22 <        void addFront(Type& type);
23 <        void addBack(Type& type);
20 >        DoublyLinkedList() { front.setNext(&back); back.setPrevious(&front); }
21 >        ~DoublyLinkedList();
22 >        void addFront(const Type& value) { front.addNext(value); }
23 >        void addBack(const Type& value) { back.addPrevious(value); }
24 >        bool contains(const Type& value) { return front.contains(value, &back); }
25 >        void removeFirst(const Type& value) { front.remove(value, &back); }
26 >        void removeLast(const Type& value) { back.remove(value, &front, false); }
27 >        Iterator<Type> iterator(void) { return Iterator<Type>(&front, &back); }
28   };
29  
30 + template<typename Type>
31 + DoublyLinkedList<Type>::~DoublyLinkedList()
32 + {
33 +        while (front.getNext() != &back) front.removeNext();
34 + }
35 +
36   #endif // _DoublyLinkedList_hpp_

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines