diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/file_util.cpp | 6 | ||||
| -rw-r--r-- | src/common/file_util.h | 14 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index cd852bfd8..2d0b81c6e 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp | |||
| @@ -809,16 +809,16 @@ IOFile::~IOFile() { | |||
| 809 | Close(); | 809 | Close(); |
| 810 | } | 810 | } |
| 811 | 811 | ||
| 812 | IOFile::IOFile(IOFile&& other) { | 812 | IOFile::IOFile(IOFile&& other) noexcept { |
| 813 | Swap(other); | 813 | Swap(other); |
| 814 | } | 814 | } |
| 815 | 815 | ||
| 816 | IOFile& IOFile::operator=(IOFile&& other) { | 816 | IOFile& IOFile::operator=(IOFile&& other) noexcept { |
| 817 | Swap(other); | 817 | Swap(other); |
| 818 | return *this; | 818 | return *this; |
| 819 | } | 819 | } |
| 820 | 820 | ||
| 821 | void IOFile::Swap(IOFile& other) { | 821 | void IOFile::Swap(IOFile& other) noexcept { |
| 822 | std::swap(m_file, other.m_file); | 822 | std::swap(m_file, other.m_file); |
| 823 | std::swap(m_good, other.m_good); | 823 | std::swap(m_good, other.m_good); |
| 824 | } | 824 | } |
diff --git a/src/common/file_util.h b/src/common/file_util.h index 4c11849ee..fc6b3ea46 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h | |||
| @@ -160,10 +160,10 @@ public: | |||
| 160 | 160 | ||
| 161 | ~IOFile(); | 161 | ~IOFile(); |
| 162 | 162 | ||
| 163 | IOFile(IOFile&& other); | 163 | IOFile(IOFile&& other) noexcept; |
| 164 | IOFile& operator=(IOFile&& other); | 164 | IOFile& operator=(IOFile&& other) noexcept; |
| 165 | 165 | ||
| 166 | void Swap(IOFile& other); | 166 | void Swap(IOFile& other) noexcept; |
| 167 | 167 | ||
| 168 | bool Open(const std::string& filename, const char openmode[]); | 168 | bool Open(const std::string& filename, const char openmode[]); |
| 169 | bool Close(); | 169 | bool Close(); |
| @@ -202,11 +202,15 @@ public: | |||
| 202 | return items_written; | 202 | return items_written; |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | size_t ReadBytes(void* data, size_t length) { | 205 | template <typename T> |
| 206 | size_t ReadBytes(T* data, size_t length) { | ||
| 207 | static_assert(std::is_trivially_copyable<T>(), "T must be trivially copyable"); | ||
| 206 | return ReadArray(reinterpret_cast<char*>(data), length); | 208 | return ReadArray(reinterpret_cast<char*>(data), length); |
| 207 | } | 209 | } |
| 208 | 210 | ||
| 209 | size_t WriteBytes(const void* data, size_t length) { | 211 | template <typename T> |
| 212 | size_t WriteBytes(const T* data, size_t length) { | ||
| 213 | static_assert(std::is_trivially_copyable<T>(), "T must be trivially copyable"); | ||
| 210 | return WriteArray(reinterpret_cast<const char*>(data), length); | 214 | return WriteArray(reinterpret_cast<const char*>(data), length); |
| 211 | } | 215 | } |
| 212 | 216 | ||