|
|
@ -192,11 +192,6 @@ private:
|
|
|
|
static_assert(position < 8 * sizeof(T), "Invalid position");
|
|
|
|
static_assert(position < 8 * sizeof(T), "Invalid position");
|
|
|
|
static_assert(bits <= 8 * sizeof(T), "Invalid number of bits");
|
|
|
|
static_assert(bits <= 8 * sizeof(T), "Invalid number of bits");
|
|
|
|
static_assert(bits > 0, "Invalid number of bits");
|
|
|
|
static_assert(bits > 0, "Invalid number of bits");
|
|
|
|
static_assert(std::is_pod<T>::value, "Invalid base type");
|
|
|
|
static_assert(std::is_trivially_copyable_v<T>, "T must be trivially copyable in a BitField");
|
|
|
|
};
|
|
|
|
};
|
|
|
|
#pragma pack()
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
#if (__GNUC__ >= 5) || defined(__clang__) || defined(_MSC_VER)
|
|
|
|
|
|
|
|
static_assert(std::is_trivially_copyable<BitField<0, 1, unsigned>>::value,
|
|
|
|
|
|
|
|
"BitField must be trivially copyable");
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|