]> jfr.im git - irc/gameservirc.git/blob - gameserv/listnode.h
Added a couple new directives to the config file
[irc/gameservirc.git] / gameserv / listnode.h
1 #ifndef LISTNODE_H
2 #define LISTNODE_H
3
4 #include "aClient.h"
5
6 template<class T> class List;
7
8
9 template <class T>
10 class ListNode {
11 friend class List<T>;
12 public:
13 ListNode(const T &);
14 T *getData();
15 void setData(const T &);
16 void setPtr( T * );
17 void setNewPtr( T * );
18 ListNode<T> *Next() { return next; };
19 ListNode<T> *Prev() { return prev; };
20 private:
21 T *data;
22 ListNode<T> *next;
23 ListNode<T> *prev;
24 };
25
26 template <class T>
27 ListNode<T>::ListNode(const T &info)
28 {
29 next = NULL;
30 prev = NULL;
31 data = new T(info);
32 }
33
34 template <class T>
35 T *ListNode<T>::getData() { return data; }
36
37 template <class T>
38 void ListNode<T>::setData( const T &info )
39 { data ( info ); }
40
41 template <class T>
42 void ListNode<T>::setPtr( T *newPtr )
43 {
44 T *temp;
45 temp = data;
46 data = newPtr;
47 delete temp;
48 }
49
50 template <class T>
51 void ListNode<T>::setNewPtr( T *newPtr )
52 {
53 data = newPtr;
54 }
55 #endif