bitwise flag helper

This commit is contained in:
lepelog
2023-08-10 11:57:46 +02:00
parent d681c65480
commit f7067f5586
4 changed files with 25 additions and 3 deletions
+18
View File
@@ -0,0 +1,18 @@
#include <types.h>
class BitwiseFlagHelper {
public:
bool checkFlag(u16 slot, u16 shift, u16 *pData);
void setFlag(u16 slot, u16 shift, u16 *pData);
void unsetFlag(u16 slot, u16 shift, u16 *pData);
};
bool BitwiseFlagHelper::checkFlag(u16 slot, u16 shift, u16 *pData) {
return (pData[slot] >> shift) & 1;
}
void BitwiseFlagHelper::setFlag(u16 slot, u16 shift, u16 *pData) {
pData[slot] |= (1 << shift);
}
void BitwiseFlagHelper::unsetFlag(u16 slot, u16 shift, u16 *pData) {
pData[slot] &= ~(1 << shift);
}