1
0
Fork 0
forked from suyu/suyu
suyu/src/core
Lioncash f1bc62bb4c hle/result: Make ResultVal's move constructor as noexcept
Many containers within the standard library provide different behaviors
based on whether or not a move constructor/assignment operator can be
guaranteed not to throw or not.

Notably, implementations will generally use std::move_if_noexcept (or an
internal implementation of it) to provide strong exception guarantees.
If a move constructor potentially throws (in other words, is not
noexcept), then certain behaviors will create copies, rather than moving
the values.

For example, consider std::vector. When a std::vector calls resize(),
there are two ways the elements can be relocated to the new block of
memory (if a reallocation happens), by copy, or by moving the existing
elements into the new block of memory. If a type does not have a
guarantee that it will not throw in the move constructor, a copy will
happen. However, if it can be guaranteed that the move constructor won't
throw, then the elements will be moved.

This just allows ResultVal to be moved instead of copied all the time if
ever used in conjunction with containers for whatever reason.
2018-08-28 09:39:50 -04:00
..
arm core: Namespace all code in the arm subdirectory under the Core namespace 2018-08-24 21:50:39 -04:00
crypto file_sys/crypto: Fix missing/unnecessary includes 2018-08-24 22:15:32 -04:00
file_sys Merge pull request #1188 from lioncash/unused 2018-08-27 18:24:23 -04:00
frontend emu_window: Ensure WindowConfig members are always initialized 2018-08-14 19:36:43 -04:00
gdbstub GDBStub works with both Unicorn and Dynarmic now (#941) 2018-08-06 22:01:24 -04:00
hle hle/result: Make ResultVal's move constructor as noexcept 2018-08-28 09:39:50 -04:00
loader file_sys/crypto: Fix missing/unnecessary includes 2018-08-24 22:15:32 -04:00
tracer core: Make converting constructors explicit where applicable 2018-07-23 23:13:22 -04:00
CMakeLists.txt file_sys: Implement NAX containers 2018-08-23 11:53:30 -04:00
core.cpp core: Remove always true conditionals in Load() 2018-08-24 02:48:30 -04:00
core.h Merge pull request #1175 from lioncash/ns 2018-08-27 18:17:12 -04:00
core_cpu.cpp Merge pull request #1043 from Subv/timing 2018-08-12 22:31:55 -04:00
core_cpu.h core: Namespace all code in the arm subdirectory under the Core namespace 2018-08-24 21:50:39 -04:00
core_timing.cpp Core::CoreTiming: add UnscheduleEventThreadsafe 2018-08-13 13:56:41 +02:00
core_timing.h Core::CoreTiming: add UnscheduleEventThreadsafe 2018-08-13 13:56:41 +02:00
core_timing_util.cpp core_timing: Split off utility functions into core_timing_util 2018-07-24 11:03:24 +01:00
core_timing_util.h core_timing: Split off utility functions into core_timing_util 2018-07-24 11:03:24 +01:00
memory.cpp renderer_base: Make Rasterizer() return the rasterizer by reference 2018-08-04 02:36:58 -04:00
memory.h memory: Make prototype parameter names match their definitions 2018-08-05 21:39:09 -04:00
memory_hook.cpp memory_hook: Default virtual destructor in the cpp file 2018-05-03 08:12:16 -04:00
memory_hook.h memory_hook: Default virtual destructor in the cpp file 2018-05-03 08:12:16 -04:00
memory_setup.h memory: Replace all memory hooking with Special regions 2018-01-27 15:16:39 +00:00
perf_stats.cpp Merge pull request #840 from FearlessTobi/port-3353 2018-08-22 01:19:50 -04:00
perf_stats.h core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds 2018-08-05 22:07:30 -04:00
settings.cpp video_core; Get rid of global g_toggle_framelimit_enabled variable 2018-08-10 19:00:09 -04:00
settings.h Port #3353 from Citra 2018-08-21 01:14:06 +02:00
telemetry_session.cpp Merge pull request #840 from FearlessTobi/port-3353 2018-08-22 01:19:50 -04:00
telemetry_session.h telemetry_session.h: Reword Documentation Comment from citra to yuzu 2018-03-27 11:16:59 +02:00