Browse Source

GCC 4.6 compatibility: no std::unordered_map::emplace().

Basically reverts (only for GCC 4.6) what was done in
b9b690b611.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
013fee8bc1
  1. 4
      src/Context.cpp
  2. 4
      src/MeshTools/RemoveDuplicates.h
  3. 4
      src/ResourceManager.h

4
src/Context.cpp

@ -337,7 +337,11 @@ 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]))
#ifndef CORRADE_GCC46_COMPATIBILITY
futureExtensions.emplace(extension._string, extension);
#else
futureExtensions.insert({extension._string, extension});
#endif
/* Check for presence of extensions in future versions */
#ifndef MAGNUM_TARGET_GLES2

4
src/MeshTools/RemoveDuplicates.h

@ -127,7 +127,11 @@ 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());
#ifndef CORRADE_GCC46_COMPATIBILITY
auto result = table.emplace(Math::Vector<vertexSize, std::size_t>::from(index), v);
#else
auto result = table.insert({Math::Vector<vertexSize, std::size_t>::from(index), v});
#endif
*it = result.first->second.newIndex;
}

4
src/ResourceManager.h

@ -469,7 +469,11 @@ template<class T> void ResourceManagerData<T>::set(const ResourceKey key, T* con
/* Insert it, if not already here */
} else if(it == _data.end())
#ifndef CORRADE_GCC46_COMPATIBILITY
it = _data.emplace(key, Data()).first;
#else
it = _data.insert({key, Data()}).first;
#endif
/* Replace previous data */
delete it->second.data;

Loading…
Cancel
Save