summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/common/file_util.h8
1 files changed, 6 insertions, 2 deletions
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 <typename T>
+ size_t ReadBytes(T* data, size_t length) {
+ static_assert(std::is_trivially_copyable<T>(), "T must be trivially copyable");
return ReadArray(reinterpret_cast<char*>(data), length);
}
- size_t WriteBytes(const void* data, size_t length) {
+ template <typename T>
+ size_t WriteBytes(const T* data, size_t length) {
+ static_assert(std::is_trivially_copyable<T>(), "T must be trivially copyable");
return WriteArray(reinterpret_cast<const char*>(data), length);
}