28 #ifndef BERSERK_MASK_HPP
29 #define BERSERK_MASK_HPP
36 #include <initializer_list>
52 template<
typename T,
size_t Size = sizeof(u
int32) * 8>
56 Mask(
const std::initializer_list<T> &list) {
63 assert(
static_cast<size_t>(v) < Size);
64 auto index =
static_cast<size_t>(v);
65 value.set(index, val);
70 assert(
static_cast<size_t>(v) < Size);
71 auto index =
static_cast<size_t>(v);
#define BRK_NS_END
Definition: Config.hpp:48
Type-safe enum mask wrapper.
Definition: Mask.hpp:53
std::bitset< Size > value
Definition: Mask.hpp:75
Mask & Set(T v, bool val=true)
Definition: Mask.hpp:62
Mask(const std::initializer_list< T > &list)
Definition: Mask.hpp:56
bool Get(T v) const
Definition: Mask.hpp:69
Definition: GLDevice.cpp:46