The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

hash_map.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
00002  *       | Inspire Internet Relay Chat Daemon |
00003  *       +------------------------------------+
00004  *
00005  *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
00006  * See: http://www.inspircd.org/wiki/index.php/Credits
00007  *
00008  * This program is free but copyrighted software; see
00009  *            the file COPYING for details.
00010  *
00011  * ---------------------------------------------------
00012  */
00013  
00014 #ifndef INSPIRCD_HASHMAP_H
00015 #define INSPIRCD_HASHMAP_H
00016 
00020 #ifndef WIN32
00021         #ifndef HASHMAP_DEPRECATED
00022                 #include <ext/hash_map>
00024                 #define nspace __gnu_cxx
00025                 #define BEGIN_HASHMAP_NAMESPACE namespace nspace {
00026                 #define END_HASHMAP_NAMESPACE }
00027         #else
00028 
00029                 #include <tr1/unordered_map>
00031                 #define hash_map unordered_map
00032                 #define nspace std::tr1
00033                 #define BEGIN_HASHMAP_NAMESPACE namespace std { namespace tr1 {
00034                 #define END_HASHMAP_NAMESPACE } } 
00035         #endif
00036 #else
00037         #include <hash_map>
00038         #define nspace stdext
00039 
00040         using stdext::hash_map;
00041         #define BEGIN_HASHMAP_NAMESPACE namespace nspace {
00042         #define END_HASHMAP_NAMESPACE }
00043 #endif
00044 
00045 
00046 
00047 #endif
00048