]>
Commit | Line | Data |
---|---|---|
85ce9d3e | 1 | #ifndef LISTNODE_H |
2 | #define LISTNODE_H | |
3 | ||
4 | #include "aClient.h" | |
5 | ||
6 | template<class T> class List; | |
7 | ||
9d057db5 | 8 | |
85ce9d3e | 9 | template <class T> |
10 | class ListNode { | |
11 | friend class List<T>; | |
12 | public: | |
13 | ListNode(const T &); | |
bf3a2ff9 | 14 | ListNode(T &); |
1cf88153 | 15 | T *getData(); |
85ce9d3e | 16 | void setData(const T &); |
1cf88153 | 17 | void setPtr( T * ); |
b0359af9 | 18 | void setNewPtr( T * ); |
85ce9d3e | 19 | ListNode<T> *Next() { return next; }; |
20 | ListNode<T> *Prev() { return prev; }; | |
21 | private: | |
22 | T *data; | |
23 | ListNode<T> *next; | |
24 | ListNode<T> *prev; | |
25 | }; | |
26 | ||
27 | template <class T> | |
28 | ListNode<T>::ListNode(const T &info) | |
29 | { | |
30 | next = NULL; | |
31 | prev = NULL; | |
32 | data = new T(info); | |
33 | } | |
bf3a2ff9 | 34 | template <class T> |
35 | ListNode<T>::ListNode(T &info) | |
36 | { | |
37 | next = NULL; | |
38 | prev = NULL; | |
39 | data = new T(info); | |
40 | } | |
85ce9d3e | 41 | |
42 | template <class T> | |
43 | T *ListNode<T>::getData() { return data; } | |
44 | ||
45 | template <class T> | |
46 | void ListNode<T>::setData( const T &info ) | |
47 | { data ( info ); } | |
48 | ||
1cf88153 | 49 | template <class T> |
50 | void ListNode<T>::setPtr( T *newPtr ) | |
51 | { | |
52 | T *temp; | |
53 | temp = data; | |
54 | data = newPtr; | |
55 | delete temp; | |
56 | } | |
b0359af9 | 57 | |
58 | template <class T> | |
59 | void ListNode<T>::setNewPtr( T *newPtr ) | |
60 | { | |
61 | data = newPtr; | |
62 | } | |
85ce9d3e | 63 | #endif |