00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef STR_HASH_
00024 #define STR_HASH_
00025
00026 #if __GNUG__ > 2
00027 #include <ext/hash_map>
00028 #else
00029 #include <hash_map>
00030 #endif
00031 #include <string>
00032
00033 #if __GNUG__ > 2
00034 namespace __gnu_cxx
00035 #else
00036 namespace std
00037 #endif
00038 {
00039 template<> struct hash<std::string>
00040 {
00041 size_t operator()(const std::string & __s) const { return __stl_hash_string(__s.c_str()); }
00042 };
00043
00044
00045 };
00046
00047 #if __GNUG__ > 2
00048 namespace std { using namespace __gnu_cxx; };
00049 #endif
00050
00051 #endif