summaryrefslogtreecommitdiff
path: root/Source/Library/Common/Bitset.class.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Library/Common/Bitset.class.h')
-rw-r--r--Source/Library/Common/Bitset.class.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/Library/Common/Bitset.class.h b/Source/Library/Common/Bitset.class.h
new file mode 100644
index 0000000..8a0707d
--- /dev/null
+++ b/Source/Library/Common/Bitset.class.h
@@ -0,0 +1,31 @@
+#ifndef DEF_BITSET_CLASS_H
+#define DEF_BITSET_CLASS_H
+
+#include <common.h>
+
+#define INDEX_FROM_BIT(a) (a/(8*4))
+#define OFFSET_FROM_BIT(a) (a%(8*4))
+
+class Bitset {
+ private:
+ u32int m_size;
+ u32int *m_data;
+ u32int m_usedCount;
+
+ public:
+ Bitset();
+ Bitset(u32int size);
+ Bitset(u32int size, u32int *ptr);
+ ~Bitset();
+
+ void init(u32int size, u32int *ptr);
+
+ void setBit(u32int number);
+ void clearBit(u32int number);
+ bool testBit(u32int number);
+ u32int firstFreeBit();
+
+ u32int usedBits();
+};
+
+#endif