From b9b690b611e2ad5ca654e78916d6ba7f676cb27a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 3 Jul 2013 01:58:35 +0200 Subject: [PATCH] Use emplace() instead of insert() in some places. Leads to (possibly faster) and shorter code. --- src/Context.cpp | 2 +- src/MeshTools/RemoveDuplicates.h | 2 +- src/ResourceManager.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Context.cpp b/src/Context.cpp index 775ddb65c..7c7a76225 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -337,7 +337,7 @@ Context::Context() { std::unordered_map futureExtensions; for(std::size_t i = future; i != versions.size(); ++i) for(const Extension& extension: Extension::extensions(versions[i])) - futureExtensions.insert(std::make_pair(extension._string, extension)); + futureExtensions.emplace(extension._string, extension); /* Check for presence of extensions in future versions */ #ifndef MAGNUM_TARGET_GLES2 diff --git a/src/MeshTools/RemoveDuplicates.h b/src/MeshTools/RemoveDuplicates.h index c18fdcc88..d51c7e61c 100644 --- a/src/MeshTools/RemoveDuplicates.h +++ b/src/MeshTools/RemoveDuplicates.h @@ -127,7 +127,7 @@ template void RemoveDuplicates, HashedVertex>(Math::Vector::from(index), v)); + auto result = table.emplace(Math::Vector::from(index), v); *it = result.first->second.newIndex; } diff --git a/src/ResourceManager.h b/src/ResourceManager.h index 8038ff458..261566ff5 100644 --- a/src/ResourceManager.h +++ b/src/ResourceManager.h @@ -469,7 +469,7 @@ template void ResourceManagerData::set(const ResourceKey key, T* con /* Insert it, if not already here */ } else if(it == _data.end()) - it = _data.insert(std::make_pair(key, Data())).first; + it = _data.emplace(key, Data()).first; /* Replace previous data */ delete it->second.data;