bit_field: Remove is_pod check, add is_trivially_copyable_v.

master
bunnei 2018-04-17 18:00:18 +07:00
parent 1f6fe062ca
commit e59126809c
1 changed files with 1 additions and 6 deletions

@ -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