home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 275 / DPCS0111DVD.ISO / Toolkit / Audio-Visual / VirtualDub / Source / VirtualDub-1.9.10-src.7z / src / Sylia / VariableTable.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-09-14  |  630 b   |  35 lines

  1. #ifndef f_SYLIA_VARIABLETABLE_H
  2. #define f_SYLIA_VARIABLETABLE_H
  3.  
  4. #include "ScriptValue.h"
  5. #include "VectorHeap.h"
  6.  
  7. class VDScriptStringHeap;
  8.  
  9. class VariableTableEntry {
  10. public:
  11.     VariableTableEntry *next;
  12.     VDScriptValue v;
  13.     char szName[1];
  14. };
  15.  
  16. class VariableTable {
  17. private:
  18.     long                lHashTableSize;
  19.     VariableTableEntry    **lpHashTable;
  20.     VectorHeap            varheap;
  21.  
  22.     long Hash(const char *szName);
  23.  
  24. public:
  25.     VariableTable(int);
  26.     ~VariableTable();
  27.  
  28.     void MarkStrings(VDScriptStringHeap& heap);
  29.  
  30.     VariableTableEntry *Lookup(const char *szName);
  31.     VariableTableEntry *Declare(const char *szName);
  32. };
  33.  
  34. #endif
  35.