home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / fed0217s.zip / include / varpool.h < prev    next >
C/C++ Source or Header  |  2000-03-01  |  965b  |  51 lines

  1. /*
  2. ** Module   :VARPOOL.H
  3. ** Abstract :
  4. **
  5. ** Copyright (C) Sergey I. Yevtushenko
  6. **
  7. ** Log: Wed  29/09/1999 Created
  8. **
  9. */
  10.  
  11. #include <collect.h>
  12.  
  13. #ifndef __VARPOOL_H
  14. #define __VARPOOL_H
  15.  
  16. class VarPoolItem
  17. {
  18.         char *cName;
  19.         char *cValue;
  20.     public:
  21.  
  22.         VarPoolItem(char *pName, char *pValue =0);
  23.         ~VarPoolItem();
  24.  
  25.         void  set(char *pValue);
  26.         char *get()             { return cValue;}
  27.         char *name()            { return cName; }
  28.  
  29. };
  30.  
  31. class VarPool: public SortedCollection
  32. {
  33.         virtual void Free(Ptr p)    { delete ((VarPoolItem *)p);}
  34.         virtual int Compare(Ptr p1, Ptr p2);
  35.  
  36.         VarPoolItem* LocateVar(char *name, int iCreate);
  37.  
  38.     public:
  39.  
  40.         VarPool();
  41.         virtual ~VarPool();
  42.  
  43.         void del(char *name);
  44.         void drop(char *namestart);
  45.         void set(char *name, char *value);
  46.         char* get(char *name);
  47. };
  48.  
  49. #endif  /*__VARPOOL_H*/
  50.  
  51.