summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Src/VertexLoaderManager.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VertexLoaderManager.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp b/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
index 4afa6e941b..153e69a8c3 100644
--- a/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
+++ b/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
@@ -19,6 +19,9 @@
#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;
@@ -44,15 +47,24 @@ namespace stdext {
return uid.GetHash();
}
}
-typedef hash_map<VertexLoaderUID, VertexLoader*> VertexLoaderMap;
#else
-namespace std {
+#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