1 #ifndef UTILS_CROSS_PLATFORM_UNORDERED_MAP_H 2 #define UTILS_CROSS_PLATFORM_UNORDERED_MAP_H 8 #include <unordered_set> 9 #include <unordered_map> 11 #define USE_TR1_NAMESPACE 0 13 #define USE_TR1_NAMESPACE 1 15 #elif defined(__APPLE__) 16 #include <Availability.h> 17 #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070 18 #define USE_TR1_NAMESPACE 1 19 #include <tr1/unordered_set> 20 #include <tr1/unordered_map> 22 #define USE_TR1_NAMESPACE 0 23 #include <unordered_set> 24 #include <unordered_map> 27 #include <tr1/unordered_set> 28 #include <tr1/unordered_map> 29 #define USE_TR1_NAMESPACE 1 30 #endif //defined(_MSC_VER) || defined(__APPLE__) 34 #define TR1_NAMESPACE std::tr1 36 #define TR1_NAMESPACE std 39 #define UNORDERED_SET_NAMESPACE TR1_NAMESPACE 40 #define UNORDERED_MAP_NAMESPACE TR1_NAMESPACE 41 #define HASH_NAMESPACE TR1_NAMESPACE 42 #define UNORDERED_SET_TEMPLATE TR1_NAMESPACE::unordered_set 43 #define UNORDERED_MAP_TEMPLATE TR1_NAMESPACE::unordered_map 44 #define HASH_TEMPLATE TR1_NAMESPACE::hash 48 #define BEGIN_TR1_NAMESPACE namespace std { namespace tr1 { 49 #define END_TR1_NAMESPACE } } 51 #define BEGIN_TR1_NAMESPACE namespace std { 52 #define END_TR1_NAMESPACE } 53 #endif //USE_TR1_NAMESPACE 55 #endif // UTILS_CROSS_PLATFORM_UNORDERED_MAP_H