X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhash_map.h;h=dfce5d94a1558d0f698cad1b1c20187d5474363a;hb=bb5a5c5bb618f90fa82c6bc43eadedd2bf1be3c7;hp=3c3703ce4519f475bf9ee6a9bcb7234805c28359;hpb=e4acbc95b8b6cd5b28d38a2242c02e8ff4991e4a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hash_map.h b/include/hash_map.h index 3c3703ce4..dfce5d94a 100644 --- a/include/hash_map.h +++ b/include/hash_map.h @@ -14,20 +14,35 @@ #ifndef INSPIRCD_HASHMAP_H #define INSPIRCD_HASHMAP_H -#include "inspircd_config.h" - /** Where hash_map is varies from compiler to compiler - * as it is not standard. + * as it is not standard unless we have tr1. */ #ifndef WIN32 -#include -/** Oddball linux namespace for hash_map */ -#define nspace __gnu_cxx + #ifndef HASHMAP_DEPRECATED + #include + /** Oddball linux namespace for hash_map */ + #define nspace __gnu_cxx + #define BEGIN_HASHMAP_NAMESPACE namespace nspace { + #define END_HASHMAP_NAMESPACE } + #else + /** Yay, we have tr1! */ + #include + /** Not so oddball linux namespace for hash_map with gcc 4.0 and above */ + #define hash_map unordered_map + #define nspace std::tr1 + #define BEGIN_HASHMAP_NAMESPACE namespace std { namespace tr1 { + #define END_HASHMAP_NAMESPACE } } + #endif #else -#include -#define nspace stdext -/** Oddball windows namespace for hash_map */ -using stdext::hash_map; + #include + #define nspace stdext + /** Oddball windows namespace for hash_map */ + using stdext::hash_map; + #define BEGIN_HASHMAP_NAMESPACE namespace nspace { + #define END_HASHMAP_NAMESPACE } #endif + + #endif +