Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

qlist.h

00001 
00002 
00003 #ifndef __QList_h
00004 #define __QList_h
00005 
00006 class _List
00007 {
00008     class Item
00009     {
00010     public:
00011         Item *Next, *Prev;
00012         void *Ptr;
00013     } *_First, *_Last, *Cur;
00014     int Count;
00015 
00016 public:
00017     _List();
00018     virtual ~_List();
00019 
00020     void *First();
00021     void *Last();
00022     void *Next();
00023     void *Prev();
00024     void *ItemAt(int i);
00025     void Insert(void *p, int where);
00026     bool Delete(void *p);
00027     int Items();
00028     void Empty();
00029     bool HasItem(void *p);
00030     int IndexOf(void *p);
00031 };
00032 
00033 template <class c>
00034 class QList : public _List
00035 {
00036 public:
00037     c *First() { return (c*) _List::First(); }
00038     c *Last() { return (c*) _List::Last(); }
00039     c *Next() { return (c*) _List::Next(); }
00040     c *Prev() { return (c*) _List::Prev(); }
00041     c *ItemAt(int i) { return (c*) _List::ItemAt(i); }
00042     void Insert(c *p, int where = -1) { _List::Insert(p, where); }
00043     bool Delete(c *p) { return _List::Delete(p); }
00044     bool HasItem(c *p) { return _List::HasItem(p); }
00045     void DeleteObjects() { c *p; while (p = First()) { Delete(p); DeleteObj(p); } }
00046     int IndexOf(c *p) { return _List::IndexOf(p); }
00047 };
00048 
00049 #endif

Generated on Wed Oct 26 14:46:51 2005 for Lgi by  doxygen 1.4.1