X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhash_map.h;h=6be2da6ca016dc29d540a32b27e3ae8cc4819522;hb=a4db7bf9af00b32d4f5c1922997d02b0b8be59e5;hp=345420fc242dc94a515ae7678cc11984d3024b80;hpb=e56613b0035f2e9acf912af4ab68ad410100e1ea;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hash_map.h b/include/hash_map.h index 345420fc2..6be2da6ca 100644 --- a/include/hash_map.h +++ b/include/hash_map.h @@ -1,40 +1,57 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * Copyright (C) 2009 Robin Burchell + * Copyright (C) 2008 Craig Edwards + * Copyright (C) 2007 Dennis Friis + * Copyright (C) 2006 Oliver Lupton * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * --------------------------------------------------- + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ - + + #ifndef INSPIRCD_HASHMAP_H #define INSPIRCD_HASHMAP_H -/** Where hash_map is varies from compiler to compiler - * as it is not standard. - */ -#ifndef WIN32 - #ifndef HASHMAP_DEPRECATED - #include - /** Oddball linux namespace for hash_map */ - #define nspace __gnu_cxx +#include "inspircd_config.h" + + /** Where hash_map is varies from compiler to compiler + * as it is not standard unless we have tr1. + */ + #ifndef _WIN32 + #ifdef HASHMAP_DEPRECATED + // GCC4+ has deprecated hash_map and uses tr1. But of course, uses a different include to MSVC. FOR FUCKS SAKE. + #include + #define HAS_TR1_UNORDERED + #else + #include + /** Oddball linux namespace for hash_map */ + #define nspace __gnu_cxx + #define BEGIN_HASHMAP_NAMESPACE namespace nspace { + #define END_HASHMAP_NAMESPACE } + #endif #else - #include + #include + #define HAS_TR1_UNORDERED + #define HASHMAP_DEPRECATED + #endif + + // tr1: restoring sanity to our headers. now if only compiler vendors could agree on a FUCKING INCLUDE FILE. + #ifdef HAS_TR1_UNORDERED #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; -#endif - - #endif -