We can use unordered_map without pain now!

This commit is contained in:
Jordan Woyak 2013-04-01 19:24:27 -05:00
parent f36e18593b
commit 4ba12be669
1 changed files with 12 additions and 33 deletions

View File

@ -16,17 +16,7 @@
// http://code.google.com/p/dolphin-emu/
#include <algorithm>
#ifdef _MSC_VER
#include <hash_map>
using stdext::hash_map;
#elif defined __APPLE__
#include <ext/hash_map>
using __gnu_cxx::hash_map;
#else
#include <unordered_map>
using std::unordered_map;
#endif
#include <map>
#include <vector>
#include "VideoCommon.h"
@ -41,32 +31,21 @@ static int s_attr_dirty; // bitfield
static VertexLoader *g_VertexLoaders[8];
#ifdef _MSC_VER
namespace stdext {
inline size_t hash_value(const VertexLoaderUID& uid) {
namespace std
{
template <>
struct hash<VertexLoaderUID>
{
size_t operator()(const VertexLoaderUID& uid) const
{
return uid.GetHash();
}
}
#else
#ifdef __APPLE__
namespace __gnu_cxx
#else
namespace std
#endif
{
template<> struct hash<VertexLoaderUID> {
size_t operator()(const VertexLoaderUID& uid) const {
return uid.GetHash();
}
};
}
#endif
};
#if defined _MSC_VER || defined __APPLE__
typedef hash_map<VertexLoaderUID, VertexLoader*> VertexLoaderMap;
#else
typedef unordered_map<VertexLoaderUID, VertexLoader*> VertexLoaderMap;
#endif
}
typedef std::unordered_map<VertexLoaderUID, VertexLoader*> VertexLoaderMap;
namespace VertexLoaderManager
{