// idDescTab.h #ifndef IDDESCTABH #define IDDESCTABH #include "pmglobs.h" #include class attributes { public: int level, ramAddr, type; bool func; void seeAttributes(); }; class attributeNode { friend class idDescTable; private: attributeNode(); // a private constructor attributes anAttributes; attributeNode* next; }; // This is a linked list node const SEGSIZE=5; class idDescTabSegment { friend class idDescTable; private: attributeNode* idSegment[SEGSIZE]; idDescTabSegment* next; public: idDescTabSegment(); // constructor. }; // This is also a linked list class. class idDescTable { private: idDescTabSegment* idts; public: idDescTable() { idts = NULL; } bool createEntry(int idx, int aLevel); void saveLevel(int idx, int aLevel); void saveAddr(int idx, int anAddr); void saveType(int idx, int aType); void saveKind(int idx, bool aFunc); bool retriveAttributes(int idx, attributes& anAttributes); void clearLevel1Entries(); void seeIdDescTable(); }; #endif