Browse Source

Use emplace() instead of insert() in some places.

Leads to (possibly faster) and shorter code.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
b9b690b611
  1. 2
      src/Context.cpp
  2. 2
      src/MeshTools/RemoveDuplicates.h
  3. 2
      src/ResourceManager.h

2
src/Context.cpp

@ -337,7 +337,7 @@ Context::Context() {
std::unordered_map<std::string, Extension> 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

2
src/MeshTools/RemoveDuplicates.h

@ -127,7 +127,7 @@ template<class Vertex, std::size_t vertexSize> void RemoveDuplicates<Vertex, ver
exists, change vertex pointer of the face to already
existing vertex */
HashedVertex v(*it, table.size());
auto result = table.insert(std::pair<Math::Vector<vertexSize, std::size_t>, HashedVertex>(Math::Vector<vertexSize, std::size_t>::from(index), v));
auto result = table.emplace(Math::Vector<vertexSize, std::size_t>::from(index), v);
*it = result.first->second.newIndex;
}

2
src/ResourceManager.h

@ -469,7 +469,7 @@ template<class T> void ResourceManagerData<T>::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;

Loading…
Cancel
Save