]> jfr.im git - irc/gameservirc.git/blob - gameserv/listnode.h
do_identify is now fixed (i hope). All previous do_identify commits were buggy and...
[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 template <class T>
9 class ListNode {
10 friend class List<T>;
11 public:
12 ListNode(const T &);
13 T *getData();
14 void setData(const T &);
15 void setPtr( T * );
16 ListNode<T> *Next() { return next; };
17 ListNode<T> *Prev() { return prev; };
18 private:
19 T *data;
20 ListNode<T> *next;
21 ListNode<T> *prev;
22 };
23
24 template <class T>
25 ListNode<T>::ListNode(const T &info)
26 {
27 next = NULL;
28 prev = NULL;
29 data = new T(info);
30 }
31
32 template <class T>
33 T *ListNode<T>::getData() { return data; }
34
35 template <class T>
36 void ListNode<T>::setData( const T &info )
37 { data ( info ); }
38
39 template <class T>
40 void ListNode<T>::setPtr( T *newPtr )
41 {
42 T *temp;
43 temp = data;
44 data = newPtr;
45 delete temp;
46 }
47 #endif