diff options
| author | Lioncash <mai.iam2048@gmail.com> | 2024-01-31 12:05:15 -0500 |
|---|---|---|
| committer | Lioncash <mai.iam2048@gmail.com> | 2024-01-31 12:05:17 -0500 |
| commit | a1879ea09991158ba99f76275292db8fd4bcc026 (patch) | |
| tree | 6129eebb8fcfc0f53d366737115fffe80c87c217 /Source/Core/VideoCommon/GraphicsModSystem | |
| parent | 30fdf25f8f3a2fd217c8c39eb3abb5b55f63b510 (diff) | |
GraphicsModGroup: Allow heterogenous lookup for GetMod()
Allows using keys that aren't directly std::string as the key. This lets
us use std::string_view for the incoming path name, making it more
flexible with other string types.
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem')
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.h | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.cpp index 9ce417e079..2e8459dfe4 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.cpp @@ -7,6 +7,8 @@ #include <sstream> #include <string> +#include <picojson.h> + #include "Common/CommonPaths.h" #include "Common/FileSearch.h" #include "Common/FileUtil.h" @@ -174,7 +176,7 @@ std::vector<GraphicsModConfig>& GraphicsModGroupConfig::GetMods() return m_graphics_mods; } -GraphicsModConfig* GraphicsModGroupConfig::GetMod(const std::string& absolute_path) const +GraphicsModConfig* GraphicsModGroupConfig::GetMod(std::string_view absolute_path) const { if (const auto iter = m_path_to_graphics_mod.find(absolute_path); iter != m_path_to_graphics_mod.end()) diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.h b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.h index 9614951e96..b2178db3f6 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.h +++ b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsModGroup.h @@ -5,10 +5,9 @@ #include <map> #include <string> +#include <string_view> #include <vector> -#include <picojson.h> - #include "Common/CommonTypes.h" struct GraphicsModConfig; @@ -34,7 +33,7 @@ public: const std::vector<GraphicsModConfig>& GetMods() const; std::vector<GraphicsModConfig>& GetMods(); - GraphicsModConfig* GetMod(const std::string& absolute_path) const; + GraphicsModConfig* GetMod(std::string_view absolute_path) const; const std::string& GetGameID() const; @@ -42,6 +41,6 @@ private: std::string GetPath() const; std::string m_game_id; std::vector<GraphicsModConfig> m_graphics_mods; - std::map<std::string, GraphicsModConfig*> m_path_to_graphics_mod; + std::map<std::string, GraphicsModConfig*, std::less<>> m_path_to_graphics_mod; u32 m_change_count = 0; }; |
