Browse Source
Merge pull request #423 from lioncash/file
file_util: Minor changes to IOFile
pull/15/merge
bunnei
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
12 additions and
8 deletions
-
src/common/file_util.cpp
-
src/common/file_util.h
|
|
|
@ -809,16 +809,16 @@ IOFile::~IOFile() { |
|
|
|
Close(); |
|
|
|
} |
|
|
|
|
|
|
|
IOFile::IOFile(IOFile&& other) { |
|
|
|
IOFile::IOFile(IOFile&& other) noexcept { |
|
|
|
Swap(other); |
|
|
|
} |
|
|
|
|
|
|
|
IOFile& IOFile::operator=(IOFile&& other) { |
|
|
|
IOFile& IOFile::operator=(IOFile&& other) noexcept { |
|
|
|
Swap(other); |
|
|
|
return *this; |
|
|
|
} |
|
|
|
|
|
|
|
void IOFile::Swap(IOFile& other) { |
|
|
|
void IOFile::Swap(IOFile& other) noexcept { |
|
|
|
std::swap(m_file, other.m_file); |
|
|
|
std::swap(m_good, other.m_good); |
|
|
|
} |
|
|
|
|
|
|
|
@ -160,10 +160,10 @@ public: |
|
|
|
|
|
|
|
~IOFile(); |
|
|
|
|
|
|
|
IOFile(IOFile&& other); |
|
|
|
IOFile& operator=(IOFile&& other); |
|
|
|
IOFile(IOFile&& other) noexcept; |
|
|
|
IOFile& operator=(IOFile&& other) noexcept; |
|
|
|
|
|
|
|
void Swap(IOFile& other); |
|
|
|
void Swap(IOFile& other) noexcept; |
|
|
|
|
|
|
|
bool Open(const std::string& filename, const char openmode[]); |
|
|
|
bool Close(); |
|
|
|
@ -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); |
|
|
|
} |
|
|
|
|
|
|
|
|