Don't use std::list unnecessarily

This commit is contained in:
Oliver Hamlet
2020-04-03 20:55:46 +01:00
parent 3424dcc3c0
commit 8407b7e9dd
5 changed files with 13 additions and 15 deletions
-1
View File
@@ -49,7 +49,6 @@
#include "windows.h"
#endif
using std::list;
using std::string;
using std::thread;
using std::vector;
+7 -7
View File
@@ -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<PluginMetadata> MetadataList::Plugins() const {
std::list<PluginMetadata> pluginList(plugins_.begin(), plugins_.end());
std::vector<PluginMetadata> MetadataList::Plugins() const {
std::vector<PluginMetadata> 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<Message> MetadataList::Messages() const { return messages_; }
+3 -3
View File
@@ -60,7 +60,7 @@ public:
void Save(const std::filesystem::path& filepath) const;
void Clear();
std::list<PluginMetadata> Plugins() const;
std::vector<PluginMetadata> Plugins() const;
std::vector<Message> Messages() const;
std::set<std::string> BashTags() const;
std::unordered_set<Group> Groups() const;
@@ -84,11 +84,11 @@ protected:
std::unordered_set<Group> groups_;
std::set<std::string> bashTags_;
std::unordered_set<PluginMetadata> plugins_;
std::list<PluginMetadata> regexPlugins_;
std::vector<PluginMetadata> regexPlugins_;
std::vector<Message> messages_;
std::unordered_set<PluginMetadata> unevaluatedPlugins_;
std::list<PluginMetadata> unevaluatedRegexPlugins_;
std::vector<PluginMetadata> unevaluatedRegexPlugins_;
std::vector<Message> unevaluatedMessages_;
};
}
+1 -2
View File
@@ -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<std::string> PluginGraph::TopologicalSort() const {
put(vertexIndexMap, v, i++);
}
list<vertex_t> sortedVertices;
std::list<vertex_t> sortedVertices;
auto logger = getLogger();
if (logger) {
logger->trace("Performing topological sort on plugin graph...");
+2 -2
View File
@@ -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<PluginMetadata> result(metadataList.Plugins());
std::vector<PluginMetadata> result(metadataList.Plugins());
std::set<std::string> 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<PluginMetadata> result(metadataList.Plugins());
std::vector<PluginMetadata> result(metadataList.Plugins());
std::set<std::string> names;
std::transform(
begin(result),