diff options
Diffstat (limited to 'src/common/file_util.h')
-rw-r--r-- | src/common/file_util.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/file_util.h b/src/common/file_util.h index b54a9fb72..c6a8694ce 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h @@ -7,9 +7,9 @@ #include <array> #include <fstream> #include <functional> -#include <cstddef> #include <cstdio> #include <string> +#include <type_traits> #include <vector> #include "common/common_types.h" @@ -192,7 +192,9 @@ public: size_t ReadArray(T* data, size_t length) { static_assert(std::is_standard_layout<T>(), "Given array does not consist of standard layout objects"); +#if (__GNUC__ >= 5) || defined(__clang__) || defined(_MSC_VER) static_assert(std::is_trivially_copyable<T>(), "Given array does not consist of trivially copyable objects"); +#endif if (!IsOpen()) { m_good = false; @@ -210,7 +212,9 @@ public: size_t WriteArray(const T* data, size_t length) { static_assert(std::is_standard_layout<T>(), "Given array does not consist of standard layout objects"); +#if (__GNUC__ >= 5) || defined(__clang__) || defined(_MSC_VER) static_assert(std::is_trivially_copyable<T>(), "Given array does not consist of trivially copyable objects"); +#endif if (!IsOpen()) { m_good = false; |