diff --git a/src/common/file_util.h b/src/common/file_util.h index 4c11849ee..32ff4d8ca 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h @@ -202,11 +202,15 @@ public: return items_written; } - size_t ReadBytes(void* data, size_t length) { + template + size_t ReadBytes(T* data, size_t length) { + static_assert(std::is_trivially_copyable(), "T must be trivially copyable"); return ReadArray(reinterpret_cast(data), length); } - size_t WriteBytes(const void* data, size_t length) { + template + size_t WriteBytes(const T* data, size_t length) { + static_assert(std::is_trivially_copyable(), "T must be trivially copyable"); return WriteArray(reinterpret_cast(data), length); }