Define the pointer hash struct before the string one, to improve compatibility

with ICC.  Patch contributed by Bjørn Wennberg.

llvm-svn: 18663
This commit is contained in:
Chris Lattner 2004-12-08 20:59:18 +00:00
parent 6430772035
commit 3e4445cd03
1 changed files with 6 additions and 6 deletions
llvm/include/llvm/ADT

View File

@ -23,12 +23,6 @@
// Cannot specialize hash template from outside of the std namespace.
namespace HASH_NAMESPACE {
template <> struct hash<std::string> {
size_t operator()(std::string const &str) const {
return hash<char const *>()(str.c_str());
}
};
// Provide a hash function for arbitrary pointers...
template <class T> struct hash<T *> {
inline size_t operator()(const T *Val) const {
@ -36,6 +30,12 @@ template <class T> struct hash<T *> {
}
};
template <> struct hash<std::string> {
size_t operator()(std::string const &str) const {
return hash<char const *>()(str.c_str());
}
};
} // End namespace std
#endif