aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/Bitmask.h
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-01-01 22:20:21 +0800
committercrupest <crupest@outlook.com>2024-01-18 20:54:14 +0800
commitf79fc16b29a32c21461490a6482eada7baa9d7f8 (patch)
tree3e290a8c593a1dee97cbb250bcf7912100025fe2 /include/cru/common/Bitmask.h
parentede0cf05499c2799029c3c646cb8314b3a43477a (diff)
downloadcru-f79fc16b29a32c21461490a6482eada7baa9d7f8.tar.gz
cru-f79fc16b29a32c21461490a6482eada7baa9d7f8.tar.bz2
cru-f79fc16b29a32c21461490a6482eada7baa9d7f8.zip
NEED TEST: Finish Event2.
Diffstat (limited to 'include/cru/common/Bitmask.h')
-rw-r--r--include/cru/common/Bitmask.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/cru/common/Bitmask.h b/include/cru/common/Bitmask.h
index b1e8495e..23a3a069 100644
--- a/include/cru/common/Bitmask.h
+++ b/include/cru/common/Bitmask.h
@@ -1,6 +1,4 @@
#pragma once
-#include "Base.h"
-
#include <functional>
namespace cru {
@@ -11,10 +9,9 @@ struct Bitmask final {
constexpr Bitmask() : value(0) {}
constexpr explicit Bitmask(TUnderlying value) : value(value) {}
- CRU_DEFAULT_COPY(Bitmask)
- CRU_DEFAULT_MOVE(Bitmask)
-
- ~Bitmask() = default;
+ static constexpr Bitmask FromOffset(int offset) {
+ return Bitmask(static_cast<TUnderlying>(1u << offset));
+ }
Bitmask operator|(Bitmask rhs) const { return Bitmask(value | rhs.value); }
Bitmask operator&(Bitmask rhs) const { return Bitmask(value & rhs.value); }