diff --git a/Source/Core/Core/IOS/IOS.cpp b/Source/Core/Core/IOS/IOS.cpp index 342a630fe9..25c7dea018 100644 --- a/Source/Core/Core/IOS/IOS.cpp +++ b/Source/Core/Core/IOS/IOS.cpp @@ -505,14 +505,14 @@ s32 Kernel::GetFreeDeviceID() return -1; } -std::shared_ptr Kernel::GetDeviceByName(const std::string& device_name) +std::shared_ptr Kernel::GetDeviceByName(std::string_view device_name) { std::lock_guard lock(m_device_map_mutex); const auto iterator = m_device_map.find(device_name); return iterator != m_device_map.end() ? iterator->second : nullptr; } -std::shared_ptr EmulationKernel::GetDeviceByName(const std::string& device_name) +std::shared_ptr EmulationKernel::GetDeviceByName(std::string_view device_name) { return Kernel::GetDeviceByName(device_name); } diff --git a/Source/Core/Core/IOS/IOS.h b/Source/Core/Core/IOS/IOS.h index daf53585ab..ffb37c47f9 100644 --- a/Source/Core/Core/IOS/IOS.h +++ b/Source/Core/Core/IOS/IOS.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include "Common/CommonTypes.h" @@ -110,14 +111,14 @@ protected: void AddDevice(std::unique_ptr device); void AddCoreDevices(); void AddStaticDevices(); - std::shared_ptr GetDeviceByName(const std::string& device_name); + std::shared_ptr GetDeviceByName(std::string_view device_name); s32 GetFreeDeviceID(); IPCCommandResult OpenDevice(OpenRequest& request); bool m_is_responsible_for_nand_root = false; u64 m_title_id = 0; static constexpr u8 IPC_MAX_FDS = 0x18; - std::map> m_device_map; + std::map, std::less<>> m_device_map; std::mutex m_device_map_mutex; // TODO: make this fdmap per process. std::array, IPC_MAX_FDS> m_fdmap; @@ -144,7 +145,7 @@ public: // Get a resource manager by name. // This only works for devices which are part of the device map. - std::shared_ptr GetDeviceByName(const std::string& device_name); + std::shared_ptr GetDeviceByName(std::string_view device_name); }; // Used for controlling and accessing an IOS instance that is tied to emulation.