home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / grap / util / 020 / regtable.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-21  |  1.1 KB  |  44 lines

  1. /*
  2.     RegTable.HPP version 1.0
  3.     by Robert Schmidt of Ztiff Zox Softwear 1993
  4.  
  5.     Declares the RegisterTable class and its members, defined in
  6.         RegTable.CPP.
  7. */
  8.  
  9. #ifndef _RegTable_HPP
  10. #define _RegTable_HPP
  11.  
  12. #include "Register.HPP"
  13.  
  14.  
  15. class RegisterTable
  16.     {
  17.     NamedRegister *reg;
  18.     int registers, select, prevSel;
  19. public:
  20.     RegisterTable(const char*);
  21.     ~RegisterTable()            { delete[] reg; }
  22.  
  23.     int operator++()            { return setSelect(select+1); }
  24.     int operator--()            { return setSelect(select-1); }
  25.     NamedRegister& operator* (void) { return reg[select]; }
  26.     int getMaxReg()                { return registers-1; }
  27.     int getSelect()                { return select; }
  28.     void printCon(int);
  29.     void printAllCon();
  30.     int updateSelect();
  31.     int setSelect(int s)        { select = s; return updateSelect(); }
  32.     void showBitMask();
  33.     void doEnable()                { for (int r=0; r<registers; r++)
  34.                                     reg[r].doEnable(); }
  35.     void doDisable()            { for (int r=0; r<registers; r++)
  36.                                     reg[r].doDisable(); }
  37.     void in();
  38.     void out();
  39.  
  40.     friend istream& operator>> (istream&, RegisterTable&);
  41.     friend ostream& operator<< (ostream&, RegisterTable&);
  42.     };
  43.  
  44. #endif