X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhash_map.h;h=dad08aa934e649f4e906749e853eb99370c8fad2;hb=c71db5cbdece1b5ce878c68f162acb52eff8becd;hp=39529634a23a8011b045dd53a82a789294df8f7b;hpb=09dd16b981c38cbde7573398cb50ae1cf0531ade;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hash_map.h b/include/hash_map.h index 39529634a..dad08aa93 100644 --- a/include/hash_map.h +++ b/include/hash_map.h @@ -2,34 +2,44 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. - * E-mail: - * - * - * + * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * See: http://wiki.inspircd.org/Credits * - * Written by Craig Edwards, Craig McLure, and others. * This program is free but copyrighted software; see * the file COPYING for details. * * --------------------------------------------------- */ - + #ifndef INSPIRCD_HASHMAP_H #define INSPIRCD_HASHMAP_H -#include "inspircd_config.h" - -#ifdef GCC3 - -#include -#define nspace __gnu_cxx - +/** Where hash_map is varies from compiler to compiler + * as it is not standard unless we have tr1. + */ +#ifndef WIN32 + #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 std - + #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