A Discrete-Event Network Simulator
API
sgi-hashmap.h
Go to the documentation of this file.
1 /* This code snippet was ripped out of the gcc
2  * documentation and slightly modified to work
3  * with gcc 4.x
4  */
5 #ifndef SGI_HASHMAP_H
6 #define SGI_HASHMAP_H
7 
8 /* To use gcc extensions.
9  */
10 #ifdef __GNUC__
11  #if __GNUC__ < 3 // GCC 2.x
12  #include <hash_map.h>
13  namespace sgi { using ::hash_map; }; // inherit globals
14  #else
15  #if __GNUC__ < 4 // GCC 3.x
16  #include <ext/hash_map>
17  #if __GNUC_MINOR__ == 0
18  namespace sgi = std; // GCC 3.0
19  #else
20  namespace sgi = ::__gnu_cxx; // GCC 3.1 and later
21  #endif
22  #else
23  #if __GNUC__ < 5 // GCC 4.x
24  #if __GNUC_MINOR__ < 3 // GCC 4.0, 4.1 and 4.2
25  #ifdef __clang__ // Clang identifies as GCC 4.2
26  #undef __DEPRECATED
27  #endif
28  #include <ext/hash_map>
29  namespace sgi = ::__gnu_cxx;
30  #else
31  #undef __DEPRECATED
32  #include <backward/hash_map>
33  namespace sgi = ::__gnu_cxx;
34  #endif
35  #else // GCC 5.x
36  #undef __DEPRECATED
37  #include <backward/hash_map>
38  namespace sgi = ::__gnu_cxx;
39  #endif
40  #endif
41  #endif
42 #else // ... there are other compilers, right?
43 namespace sgi = std;
44 #endif
45 
46 
47 #endif /* SGI_HASHMAP_H */
STL namespace.