summaryrefslogtreecommitdiff
path: root/attributes.h
diff options
context:
space:
mode:
Diffstat (limited to 'attributes.h')
-rw-r--r--attributes.h22
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