]> jfr.im git - irc/gameservirc.git/blob - gameserv/listnode.h
* Added some admin features.
[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 ListNode<T> *Next() { return next; };
18 ListNode<T> *Prev() { return prev; };
19 private:
20 T *data;
21 ListNode<T> *next;
22 ListNode<T> *prev;
23 };
24
25 template <class T>
26 ListNode<T>::ListNode(const T &info)
27 {
28 next = NULL;
29 prev = NULL;
30 data = new T(info);
31 }
32
33 template <class T>
34 T *ListNode<T>::getData() { return data; }
35
36 template <class T>
37 void ListNode<T>::setData( const T &info )
38 { data ( info ); }
39
40 template <class T>
41 void ListNode<T>::setPtr( T *newPtr )
42 {
43 T *temp;
44 temp = data;
45 data = newPtr;
46 delete temp;
47 }
48 #endif