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