]> jfr.im git - irc/gameservirc.git/blame - gameserv/listnode.h
added items to the tavern.dat, added the filename option 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 &);
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
27template <class T>
28ListNode<T>::ListNode(const T &info)
29{
30 next = NULL;
31 prev = NULL;
32 data = new T(info);
33}
bf3a2ff9 34template <class T>
35ListNode<T>::ListNode(T &info)
36{
37 next = NULL;
38 prev = NULL;
39 data = new T(info);
40}
85ce9d3e 41
42template <class T>
43T *ListNode<T>::getData() { return data; }
44
45template <class T>
46void ListNode<T>::setData( const T &info )
47 { data ( info ); }
48
1cf88153 49template <class T>
50void ListNode<T>::setPtr( T *newPtr )
51{
52 T *temp;
53 temp = data;
54 data = newPtr;
55 delete temp;
56}
b0359af9 57
58template <class T>
59void ListNode<T>::setNewPtr( T *newPtr )
60{
61 data = newPtr;
62}
85ce9d3e 63#endif