aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/Bitmask.h
diff options
context:
space:
mode:
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); }