bit_field: Remove is_pod check, add is_trivially_copyable_v.
This commit is contained in:
parent
1f6fe062ca
commit
e59126809c
|
@ -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
|
|
||||||
|
|
Reference in New Issue