]> Shamusworld >> Repos - architektonas/blob - flags.h
29ab0e02bb238fff8adf73a83dd95bff9f50cd14
[architektonas] / flags.h
1 #ifndef __FLAGS_H__
2 #define __FLAGS_H__
3
4 /**
5  * Base class for objects which have flags.
6  *
7  * @author Andrew Mustun
8  */
9 class Flags
10 {
11         public:
12                 Flags();
13                 Flags(unsigned int f);
14                 virtual ~Flags();
15
16                 unsigned int getFlags() const;
17                 void resetFlags();
18                 void setFlags(unsigned int f);
19                 void setFlag(unsigned int f);
20                 void delFlag(unsigned int f);
21                 void toggleFlag(unsigned int f) ;
22                 bool getFlag(unsigned int f) const;
23
24         private:
25                 unsigned int flags;
26 };
27
28 #endif