dolphin/Source/Core/Common
Lioncash 045a8400e6 IOFile: Make the move constructor and move assignment operator noexcept
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.

This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.

As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
2017-01-04 18:37:48 -05:00
..
Crypto Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GL GLInterface: Implement core and shared context creation for WGL 2016-11-29 20:04:32 +10:00
Logging Reduces the the filename of logs 2016-10-04 16:34:26 -04:00
Align.h Common: Add alignment header 2016-12-06 20:33:53 +01:00
Analytics.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Analytics.h Remove curl version check / include curl.h 2016-08-04 22:39:45 -05:00
Arm64Emitter.cpp Common: Add alignment header 2016-12-06 20:33:53 +01:00
Arm64Emitter.h JitArm64: Implement divwx 2016-10-29 13:35:23 +02:00
ArmCommon.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
ArmCPUDetect.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Assert.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Atomic.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Atomic_GCC.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Atomic_Win32.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
BitField.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
BitField.natvis Correct capitalization of 'Visual Studio' 2015-11-02 17:12:09 +13:00
BitSet.h constexpr added to BitSet.h. conflicts solved 2016-06-25 10:58:53 -03:00
BlockingLoop.h BlockingLoop: Yield to UI message pump while waiting. 2016-11-11 13:37:02 +01:00
BreakPoints.cpp Merge pull request #4354 from sepalani/bp_rmtmp_it 2016-10-17 14:14:10 -07:00
BreakPoints.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CDUtils.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CDUtils.h Add missing license headers 2015-05-25 13:11:47 +02:00
ChunkFile.h CoreTiming: Data structure cleanup 2016-09-03 12:46:14 +10:00
CMakeLists.txt Don't force compile everything as Objective-C++ on macOS 2016-09-18 17:33:51 -07:00
CodeBlock.h Merge pull request #3386 from lioncash/memory 2016-08-19 11:04:45 +02:00
ColorUtil.cpp GCVolume: supports reading all opening.bnr information 2016-06-26 00:03:59 +10:00
ColorUtil.h GCVolume: supports reading all opening.bnr information 2016-06-26 00:03:59 +10:00
Common.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Common.vcxproj Common: Add alignment header 2016-12-06 20:33:53 +01:00
Common.vcxproj.filters Common: Add alignment header 2016-12-06 20:33:53 +01:00
CommonFuncs.h CommonFuncs: Get rid of pointer casting 2016-10-04 05:12:23 -04:00
CommonPaths.h Remove incorrect usage of "ASCII" and "ANSI" 2016-12-26 15:49:39 +01:00
CommonTypes.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CPUDetect.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
DebugInterface.h DebugInterface: Make GetRawMemoryString return a std::string 2016-10-07 10:26:26 -04:00
ENetUtil.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
ENetUtil.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Event.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
FifoQueue.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
FileSearch.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
FileSearch.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
FileUtil.cpp IOFile: Make the move constructor and move assignment operator noexcept 2017-01-04 18:37:48 -05:00
FileUtil.h IOFile: Make the move constructor and move assignment operator noexcept 2017-01-04 18:37:48 -05:00
FixedSizeQueue.h FixedSizeQueue: modernize (std::array, std::move) 2016-06-25 17:39:54 +02:00
Flag.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
FPURoundMode.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GekkoDisassembler.cpp Add precision about the names of r1, r2 and r13 for the register view 2016-11-02 01:13:00 -04:00
GekkoDisassembler.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GenericCPUDetect.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
GenericFPURoundMode.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Hash.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Hash.h More asterisks 2016-01-21 21:16:51 +01:00
IniFile.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
IniFile.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Intrinsics.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
JitRegister.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
JitRegister.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
LinearDiskCache.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
make_scmrev.h.js scmrev: Add "distributor" option. 2016-06-18 18:31:40 +02:00
MathUtil.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MathUtil.h Common: Add alignment header 2016-12-06 20:33:53 +01:00
MD5.cpp Add md5 testing to netplay 2016-07-16 22:48:46 +02:00
MD5.h Add md5 testing to netplay 2016-07-16 22:48:46 +02:00
MemArena.cpp Support for dynamic BAT modification (dynamic-bat). 2016-09-06 08:43:22 +02:00
MemArena.h Support for dynamic BAT modification (dynamic-bat). 2016-09-06 08:43:22 +02:00
MemoryUtil.cpp Fix unused function warnings 2016-10-23 00:43:08 +02:00
MemoryUtil.h MemoryUtil: Fix formatting 2016-09-24 22:41:53 +02:00
Misc.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MsgHandler.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
MsgHandler.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
NandPaths.cpp IOS HLE: More robust escaping of NAND paths 2016-11-26 22:49:46 +01:00
NandPaths.h IOS HLE: More robust escaping of NAND paths 2016-11-26 22:49:46 +01:00
Network.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Network.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
NonCopyable.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PcapFile.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PcapFile.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PerformanceCounter.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PerformanceCounter.h Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Profiler.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Profiler.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SCMRevGen.vcxproj Fix SCMRevGen for 64-bit MSBuild 2016-07-13 17:28:55 +02:00
ScopeGuard.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SDCardUtil.cpp Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
SDCardUtil.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Semaphore.h Common: Add a Semaphore wrapper class 2016-10-01 01:09:12 +10:00
SettingsHandler.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
SettingsHandler.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
StringUtil.cpp Import/Export signature files as CSV 2016-12-18 00:27:10 +00:00
StringUtil.h Import/Export signature files as CSV 2016-12-18 00:27:10 +00:00
SymbolDB.cpp SymbolDB: Only match against the function name 2016-09-26 22:56:42 +02:00
SymbolDB.h SymbolDB: Only match against the function name 2016-09-26 22:56:42 +02:00
SysConf.cpp Merge pull request #4244 from leoetlino/stm-shutdown 2016-10-02 20:25:13 -07:00
SysConf.h SysConf: Add support for the LongLong type 2016-10-02 11:52:57 +02:00
Thread.cpp OpenBSD uses pthread_set_name_np() to set the name of a thread. 2016-07-17 04:09:46 -06:00
Thread.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Timer.cpp Add Configurable RTC 2016-07-19 11:20:02 -04:00
Timer.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
TraversalClient.cpp Improve netplay setup dialog UX 2016-07-23 20:58:51 +02:00
TraversalClient.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
TraversalProto.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
TraversalServer.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
ucrtFreadWorkaround.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Version.cpp Fix in-tree build (cmake .) on OS X. 2016-06-25 23:57:17 -04:00
x64ABI.cpp x64Emitter: Generify ABI_CallFunction variants 2016-08-31 22:54:47 -04:00
x64ABI.h x64Emitter: Generify ABI_CallFunction variants 2016-08-31 22:54:47 -04:00
x64CPUDetect.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
x64Emitter.cpp x64Emitter: Generify ABI_CallFunction variants 2016-08-31 22:54:47 -04:00
x64Emitter.h Jit64: Avoid pointer casts if possible. 2016-12-04 13:09:16 +01:00
x64FPURoundMode.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
x64Reg.h x64Emitter: Generify ABI_CallFunction variants 2016-08-31 22:54:47 -04:00