diff options
| author | 2018-04-29 18:29:03 -0400 | |
|---|---|---|
| committer | 2018-04-29 18:34:09 -0400 | |
| commit | e8bbafb746ce7e178be757471305539c05bb7f23 (patch) | |
| tree | 5396d4f28614f5b346a21776935597ec466f117f /src | |
| parent | file_util: Add static assertions to ReadBytes() and WriteBytes() (diff) | |
| download | yuzu-e8bbafb746ce7e178be757471305539c05bb7f23.tar.gz yuzu-e8bbafb746ce7e178be757471305539c05bb7f23.tar.xz yuzu-e8bbafb746ce7e178be757471305539c05bb7f23.zip | |
file_util: Make move constructor/assignment operator and related functions noexcept
Without this, it's possible to get compilation failures in the (rare) scenario where
a container is used to store a bunch of live IOFile instances, as they may be using
std::move_if_noexcept under the hood. Given these definitely don't throw exceptions
this is also not incorrect to add either.
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/file_util.cpp | 6 | ||||
| -rw-r--r-- | src/common/file_util.h | 6 |
2 files changed, 6 insertions, 6 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 32ff4d8ca..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(); |