diff --git a/src/api/game/game.cpp b/src/api/game/game.cpp index 5c0c4fe4..4bc1279e 100644 --- a/src/api/game/game.cpp +++ b/src/api/game/game.cpp @@ -49,7 +49,6 @@ #include "windows.h" #endif -using std::list; using std::string; using std::thread; using std::vector; diff --git a/src/api/metadata_list.cpp b/src/api/metadata_list.cpp index 50bd32c7..6ea5ac65 100644 --- a/src/api/metadata_list.cpp +++ b/src/api/metadata_list.cpp @@ -100,7 +100,7 @@ void MetadataList::Save(const std::filesystem::path& filepath) const { emitter << YAML::Key << "globals" << YAML::Value << messages_; auto plugins = Plugins(); - plugins.sort([](const PluginMetadata& p1, const PluginMetadata& p2) { + std::sort(plugins.begin(), plugins.end(), [](const PluginMetadata& p1, const PluginMetadata& p2) { return CompareFilenames(p1.GetName(), p2.GetName()) < 0; }); @@ -124,13 +124,13 @@ void MetadataList::Clear() { messages_.clear(); } -std::list MetadataList::Plugins() const { - std::list pluginList(plugins_.begin(), plugins_.end()); +std::vector MetadataList::Plugins() const { + std::vector plugins; + plugins.reserve(plugins_.size() + regexPlugins_.size()); + plugins.insert(plugins.end(), plugins_.begin(), plugins_.end()); + plugins.insert(plugins.end(), regexPlugins_.begin(), regexPlugins_.end()); - pluginList.insert( - pluginList.end(), regexPlugins_.begin(), regexPlugins_.end()); - - return pluginList; + return plugins; } std::vector MetadataList::Messages() const { return messages_; } diff --git a/src/api/metadata_list.h b/src/api/metadata_list.h index a3e5c3a2..23b6938c 100644 --- a/src/api/metadata_list.h +++ b/src/api/metadata_list.h @@ -60,7 +60,7 @@ public: void Save(const std::filesystem::path& filepath) const; void Clear(); - std::list Plugins() const; + std::vector Plugins() const; std::vector Messages() const; std::set BashTags() const; std::unordered_set Groups() const; @@ -84,11 +84,11 @@ protected: std::unordered_set groups_; std::set bashTags_; std::unordered_set plugins_; - std::list regexPlugins_; + std::vector regexPlugins_; std::vector messages_; std::unordered_set unevaluatedPlugins_; - std::list unevaluatedRegexPlugins_; + std::vector unevaluatedRegexPlugins_; std::vector unevaluatedMessages_; }; } diff --git a/src/api/sorting/plugin_graph.cpp b/src/api/sorting/plugin_graph.cpp index 2a5abbc4..05bfd88a 100644 --- a/src/api/sorting/plugin_graph.cpp +++ b/src/api/sorting/plugin_graph.cpp @@ -40,7 +40,6 @@ #include "loot/exception/cyclic_interaction_error.h" #include "loot/exception/undefined_group_error.h" -using std::list; using std::string; using std::vector; @@ -130,7 +129,7 @@ std::vector PluginGraph::TopologicalSort() const { put(vertexIndexMap, v, i++); } - list sortedVertices; + std::list sortedVertices; auto logger = getLogger(); if (logger) { logger->trace("Performing topological sort on plugin graph..."); diff --git a/src/tests/api/internals/metadata_list_test.h b/src/tests/api/internals/metadata_list_test.h index 9c505e25..d91d05d4 100644 --- a/src/tests/api/internals/metadata_list_test.h +++ b/src/tests/api/internals/metadata_list_test.h @@ -97,7 +97,7 @@ TEST_P(MetadataListTest, loadShouldLoadPluginMetadata) { // Non-regex plugins can be outputted in any order, and regex entries can // match each other, so convert the list to a set of strings for // comparison. - std::list result(metadataList.Plugins()); + std::vector result(metadataList.Plugins()); std::set names; std::transform( begin(result), @@ -232,7 +232,7 @@ TEST_P(MetadataListTest, saveShouldWriteTheLoadedMetadataToTheGivenFilePath) { // Non-regex plugins can be outputted in any order, and regex entries can // match each other, so convert the list to a set of strings for // comparison. - std::list result(metadataList.Plugins()); + std::vector result(metadataList.Plugins()); std::set names; std::transform( begin(result),