diff options
Diffstat (limited to 'attributes.h')
-rw-r--r-- | attributes.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/attributes.h b/attributes.h index 34cf258..0ae4487 100644 --- a/attributes.h +++ b/attributes.h @@ -13,27 +13,29 @@ using namespace std; class Attributes { - -private: - class staticInit {public: staticInit (void);}; - static string atNames[NUM_ATR]; - static Attributes::staticInit staticInitializer; - protected: + static string atNames[NUM_ATR]; + static int numAttrs; + void Setup(void); uint64_t attributes; public: - Attributes(const uint64_t a = 0) {SetAttributes (a);} + Attributes(void); + Attributes(const uint64_t a); ~Attributes(void); - void SetAttributes(const uint64_t a) {attributes = a;} - uint64_t GetAttributes(void) {return attributes;} + void operator=(uint64_t a) {attributes = a;} + + uint64_t GetAttributes(void) const {return attributes;} void DisplayAttributes(void); - void ChangeAttributes(void); void ShowAttributes(const uint32_t partNum); + + void ChangeAttributes(void); bool OperateOnAttributes(const uint32_t partNum, const string& attributeOperator, const string& attributeBits); static const string& GetAttributeName(const uint32_t bitNum) {return atNames [bitNum];} static void ListAttributes(void); }; // class Attributes +ostream & operator<<(ostream & os, const Attributes & data); + #endif |