17 #ifndef STXXL_COMPAT_HASH_MAP_HEADER
18 #define STXXL_COMPAT_HASH_MAP_HEADER
23 #if __cplusplus >= 201103L
27 #elif defined(__GNUG__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) && \
28 (!defined(__ICC) || (__ICC > 1110))
29 #include <tr1/unordered_map>
31 #include <ext/hash_map>
36 template <
class KeyType>
38 #if __cplusplus >= 201103L
39 typedef std::hash<KeyType>
result;
41 typedef stdext::hash_compare<KeyType>
result;
42 #elif defined(__GNUG__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) && \
43 (!defined(__ICC) || (__ICC > 1110))
44 typedef std::tr1::hash<KeyType>
result;
46 typedef __gnu_cxx::hash<KeyType>
result;
50 template <
class KeyType,
class MappedType,
53 #if __cplusplus >= 201103L
54 typedef std::unordered_map<KeyType, MappedType, HashType>
result;
56 typedef stdext::hash_map<KeyType, MappedType, HashType>
result;
57 #elif defined(__GNUG__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) && \
58 (!defined(__ICC) || (__ICC > 1110))
59 typedef std::tr1::unordered_map<KeyType, MappedType, HashType>
result;
61 typedef __gnu_cxx::hash_map<KeyType, MappedType, HashType>
result;
65 template <
class KeyType,
class MappedType,
68 #if __cplusplus >= 201103L
69 typedef std::unordered_multimap<KeyType, MappedType, HashType>
result;
71 typedef stdext::hash_multimap<KeyType, MappedType, HashType>
result;
72 #elif defined(__GNUG__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40200) && \
73 (!defined(__ICC) || (__ICC > 1110))
74 typedef std::tr1::unordered_multimap<KeyType, MappedType, HashType>
result;
76 typedef __gnu_cxx::hash_multimap<KeyType, MappedType, HashType>
result;
82 #endif // !STXXL_COMPAT_HASH_MAP_HEADER
__gnu_cxx::hash_multimap< KeyType, MappedType, HashType > result
__gnu_cxx::hash_map< KeyType, MappedType, HashType > result
#define STXXL_BEGIN_NAMESPACE
__gnu_cxx::hash< KeyType > result
#define STXXL_END_NAMESPACE