dolphin/Source/Core/Common
Lioncash 6f473b96d0 PowerPC: Convert CPUCore enum into an enum class
Makes the enum values strongly-typed and prevents the identifiers from
polluting the PowerPC namespace. This also cleans up the parameters of
some functions where we were accepting an ambiguous int type and
expecting the correct values to be passed in.

Now those parameters accept a PowerPC::CPUCore type only, making it
immediately obvious which values should be passed in. It also turns out
we were storing these core types into other structures as plain ints,
which have also been corrected.

As this type is used directly with the configuration code, we need to
provide our own overloaded insertion (<<) and extraction (>>) operators
in order to make it compatible with it. These are fairly trivial to
implement, so there's no issue here.

A minor adjustment to TryParse() was required, as our generic function
was doing the following:

N tmp = 0;

which is problematic, as custom types may not be able to have that
assignment performed (e.g. strongly-typed enums), so we change this to:

N tmp;

which is sufficient, as the value is attempted to be initialized
immediately under that statement.
2018-06-15 10:27:59 -04:00
..
Compat Update mpark::variant implementation to 1.3.0 2018-05-11 11:15:06 -07:00
Config StringUtil: Remove ValueToString(std::string) 2018-06-03 15:11:59 +02:00
Crypto Compiler: Rename UNUSED macro to DOLPHIN_UNUSED 2018-06-09 12:20:29 -04:00
Debug MemoryPatches: In-class initialize is_enabled state for MemoryPatch instances 2018-05-29 18:04:06 -04:00
GL Fix change in comment meaning by autoformat. 2018-04-13 09:20:27 +12:00
Logging Common: Remove unnecessary ~9 year old LOGGING preprocessor define 2018-05-27 21:33:25 -04:00
Align.h Common: Add alignment header 2016-12-06 20:33:53 +01:00
Analytics.cpp Common: Add HttpRequest to simplify HTTP requests 2017-06-13 12:52:31 +02:00
Analytics.h Reformat all the things! 2018-04-12 21:28:39 +02:00
Arm64Emitter.cpp Arm64Emitter: Use Common::BitCast where applicable 2018-05-29 18:19:01 -04:00
Arm64Emitter.h Common/CodeBlock: Namespace code under the Common namespace 2018-05-17 15:57:29 -04:00
ArmCPUDetect.cpp CPUDetect: Make CPUVendor enum an enum class 2018-04-01 17:47:50 -04:00
ArmCommon.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Assert.h Assert: Remove unused parameter from DEBUG_ASSERT 2018-03-16 13:01:11 -04: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 Atomic_Win32: Replace deprecated (and since been removed) barrier intrinsics 2018-05-09 11:35:35 -04:00
BitField.h Compiler: Rename __forceinline define to DOLPHIN_FORCE_INLINE 2018-06-09 12:20:25 -04:00
BitField.natvis Correct capitalization of 'Visual Studio' 2015-11-02 17:12:09 +13:00
BitSet.h Common: Amend CommonTypes include within BitSet.h 2018-04-23 00:14:00 -04:00
BitUtils.h BitUtils: Add C++14/C++17 compatible equivalent of std::bit_cast from C++2a 2018-05-10 12:28:05 -04:00
BlockingLoop.h Reformat all the things! 2018-04-12 21:28:39 +02:00
CDUtils.cpp CDUtils: Remove unused parameter in IsCDROM() 2018-05-27 18:48:23 -04:00
CDUtils.h CDUtils: Amend function names 2018-05-27 18:48:09 -04:00
CMakeLists.txt Common/CMakeLists: Link in libraries privately for traversal_server 2018-06-08 17:40:44 -04:00
CPUDetect.h CPUDetect: Make CPUVendor enum an enum class 2018-04-01 17:47:50 -04:00
ChunkFile.h ChunkFile: Remove unnecessary includes 2018-06-09 16:49:59 -04:00
CodeBlock.h Common/CodeBlock: Namespace code under the Common namespace 2018-05-17 15:57:29 -04:00
ColorUtil.cpp ColorUtil: Amend function name casing 2018-05-27 21:04:48 -04:00
ColorUtil.h ColorUtil: Amend function name casing 2018-05-27 21:04:48 -04:00
Common.h Common: Add header for compiler-specifics 2018-06-09 12:10:05 -04:00
Common.vcxproj Common: Add header for compiler-specifics 2018-06-09 12:10:05 -04:00
Common.vcxproj.filters Common: Add header for compiler-specifics 2018-06-09 12:10:05 -04:00
CommonFuncs.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
CommonFuncs.h CommonFuncs: Convert ROUND_UP_POW2 macro to a function 2018-05-10 19:42:20 -04:00
CommonPaths.h Give Dump Objects dedicated folder and tooltip 2018-06-06 08:42:41 -04:00
CommonTypes.h CommonTypes: Qualify standard integral types in typedefs with std:: 2017-08-20 19:34:52 -04:00
CompatPatches.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
Compiler.h Compiler: Use [[maybe_unused]] in the Windows DOLPHIN_UNUSED macro 2018-06-09 12:20:29 -04:00
DebugInterface.h DebugInterface: MemoryPatches methods added 2018-05-22 10:31:31 +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
FPURoundMode.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
File.cpp File: Make GetSize() a const member function 2017-08-06 07:57:43 -04:00
File.h Remove NonCopyable 2017-08-22 16:40:34 +02:00
FileSearch.cpp Fix DoFileSearch for non-ASCII extensions on Windows 2017-06-28 09:50:02 +02:00
FileSearch.h replace DoFileSearch with optimized version 2017-06-23 17:25:53 -07:00
FileUtil.cpp Give Dump Objects dedicated folder and tooltip 2018-06-06 08:42:41 -04:00
FileUtil.h Give Dump Objects dedicated folder and tooltip 2018-06-06 08:42:41 -04:00
FixedSizeQueue.h Reformat all the things! 2018-04-12 21:28:39 +02:00
Flag.h Reformat all the things! 2018-04-12 21:28:39 +02:00
FloatUtils.cpp FloatUtils: Clean up memcpy usages 2018-05-10 12:28:09 -04:00
FloatUtils.h FloatUtils: Remove IntDouble and IntFloat 2018-05-10 12:28:09 -04:00
GekkoDisassembler.cpp Common: Namespace GekkoDisassembler.cpp/.h 2018-05-25 16:55:09 -04:00
GekkoDisassembler.h Common: Namespace GekkoDisassembler.cpp/.h 2018-05-25 16:55:09 -04: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 Common/Hash: Namespace code under the Common namespace 2018-05-16 15:39:23 -04:00
Hash.h Common/Hash: Namespace code under the Common namespace 2018-05-16 15:39:23 -04:00
HttpRequest.cpp Common/HttpRequest: Add option to set cookies 2018-05-29 03:56:28 +02:00
HttpRequest.h Common/HttpRequest: Add option to set cookies 2018-05-29 03:56:28 +02:00
Image.cpp Fix compatibility with versions of libpng older than 1.5 2018-05-20 13:44:42 +02:00
Image.h VideoCommon: Replace SOIL with libpng for hires textures 2018-05-20 13:44:38 +02:00
IniFile.cpp IniFile: Use templates for Get() 2018-06-03 14:53:56 +02:00
IniFile.h IniFile: Use templates for Get() 2018-06-03 14:53:56 +02:00
Intrinsics.h Reformat all the things! 2018-04-12 21:28:39 +02:00
JitRegister.cpp JIT: Don't always look up symbols for blocks 2017-09-10 11:42:12 +02:00
JitRegister.h JIT: Don't always look up symbols for blocks 2017-09-10 11:42:12 +02:00
Lazy.h Reformat all the things! 2018-04-12 21:28:39 +02:00
LdrWatcher.cpp [windows]: Apply compatibility patches to problematic gamepad vibration drivers. 2017-06-15 21:21:01 -07:00
LdrWatcher.h [windows]: Apply compatibility patches to problematic gamepad vibration drivers. 2017-06-15 21:21:01 -07:00
LinearDiskCache.h Remove old GCC version checks 2018-05-30 10:59:15 +02:00
MD5.cpp DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
MD5.h Add md5 testing to netplay 2016-07-16 22:48:46 +02:00
MathUtil.cpp Common: Move floating-point utility functions to FloatUtils.h/.cpp 2018-05-07 02:56:32 -04:00
MathUtil.h CommonFuncs: Convert ROUND_UP_POW2 macro to a function 2018-05-10 19:42:20 -04:00
MemArena.cpp Common: Add MemArena.h/cpp to the Common namespace 2018-05-15 18:27:32 -04:00
MemArena.h Common: Add MemArena.h/cpp to the Common namespace 2018-05-15 18:27:32 -04:00
MemoryUtil.cpp CommonFuncs: LastStrerrorString added 2017-08-18 20:08:50 +01:00
MemoryUtil.h remove MemUsage, and therefor psapi dependency 2017-06-08 22:25:46 -07:00
MsgHandler.cpp MsgHandler: small cleanup 2017-08-03 13:29:59 -07:00
MsgHandler.h MsgHandler: small cleanup 2017-08-03 13:29:59 -07:00
NandPaths.cpp NandPaths: Return paths that are relative to Wii NAND 2018-05-04 19:52:17 +02:00
NandPaths.h NandPaths: Return paths that are relative to Wii NAND 2018-05-04 19:52:17 +02:00
Network.cpp Common/Network: Get rid of out parameters for MAC address utilities 2018-06-10 15:43:26 -04:00
Network.h Common/Network: Get rid of out parameters for MAC address utilities 2018-06-10 15:43:26 -04:00
PcapFile.cpp PcapFile: Namespace code under the Common namespace 2018-05-29 17:56:15 -04:00
PcapFile.h PcapFile: Namespace code under the Common namespace 2018-05-29 17:56:15 -04: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 fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
Profiler.h Reformat all the things! 2018-04-12 21:28:39 +02:00
QoSSession.cpp Add Quality of Service (QoS) support 2018-03-09 00:11:18 +01:00
QoSSession.h Reformat all the things! 2018-04-12 21:28:39 +02:00
Random.cpp Common: Add Random utilities 2018-05-31 17:54:43 +02:00
Random.h Common/Random: Add convenience template for simple arithmetic values 2018-06-14 10:31:13 -04:00
Result.h Reformat all the things! 2018-04-12 21:28:39 +02:00
SCMRevGen.vcxproj SCMRevGen: Use DisableFastUpToDateCheck 2017-06-24 17:34:21 +01:00
SDCardUtil.cpp SDCardUtil: Replace macros with typed equivalents 2018-05-11 12:33:07 -04:00
SDCardUtil.h SDCardUtil: Namespace SDCardUtil 2018-05-11 09:19:30 -04:00
SPSCQueue.h Rename Common::FifoQueue to Common::SPSCQueue 2017-08-23 17:00:52 -07:00
ScopeGuard.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Semaphore.h Reformat all the things! 2018-04-12 21:28:39 +02:00
SettingsHandler.cpp SettingsHandler: Remove redundant type qualifier in SetBytes() 2018-05-12 13:53:42 -04:00
SettingsHandler.h SettingsHandler: Namespace code under the Common namespace 2018-05-12 13:39:37 -04:00
StringUtil.cpp StringUtil: Remove ValueToString(std::string) 2018-06-03 15:11:59 +02:00
StringUtil.h PowerPC: Convert CPUCore enum into an enum class 2018-06-15 10:27:59 -04:00
Swap.h Common/Swap: Amend BigEndianValue's operator= to return a reference to the object rather than returning void 2018-04-08 01:22:18 -04:00
SymbolDB.cpp SymbolDB: Namespace code under the Common namespace 2018-05-27 18:01:40 -04:00
SymbolDB.h SymbolDB: Namespace code under the Common namespace 2018-05-27 18:01:40 -04:00
Thread.cpp fix various instances of -1 being assigned to unsigned types 2017-06-07 19:52:07 -07:00
Thread.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Timer.cpp Add includes for building on Windows without PCH 2017-01-23 01:37:41 -08:00
Timer.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
TraversalClient.cpp Common/Random: Add convenience template for simple arithmetic values 2018-06-14 10:31:13 -04:00
TraversalClient.h TraversalClient: Use u32 instead of enet_uint32 2018-04-16 16:46:48 -04:00
TraversalProto.h specify custom brace style to fix unions 2017-01-05 12:55:13 +01:00
TraversalServer.cpp Common/Random: Add convenience template for simple arithmetic values 2018-06-14 10:31:13 -04:00
UPnP.cpp UPnP: use value-initialization instead of std::memset 2017-08-13 18:50:53 -07:00
UPnP.h Common: extract UPnP namespace from NetPlayServer 2017-08-13 18:50:51 -07:00
Version.cpp Common: Move version strings to their own header 2017-09-09 19:28:10 -04:00
Version.h Common: Move version strings to their own header 2017-09-09 19:28:10 -04:00
WorkQueueThread.h GameTracker: use WorkQueueThread 2017-08-20 14:40:56 -07:00
make_scmrev.h.js make_scmrev.h.js: set default auto-update track from environment 2018-03-19 00:11:55 +01:00
scmrev.h.in ConfigManager: Enable Auto-Updater by default 2018-04-26 15:12:15 +02: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 intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reserved 2018-05-08 17:25:33 +08:00
x64Emitter.cpp x64Emitter: Use an enum class to represent FixupBranch branch types 2018-05-06 22:05:03 -04:00
x64Emitter.h x64Emitter: Amend parameter ordering for WriteModRM()'s prototype 2018-05-30 09:30:24 -04: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