2005-05-15 03:03:23 +00:00
|
|
|
#ifndef _HASHCOMP_H_
|
|
|
|
#define _HASHCOMP_H_
|
|
|
|
|
|
|
|
#include "inspircd_config.h"
|
|
|
|
|
|
|
|
#ifdef GCC3
|
|
|
|
#include <ext/hash_map>
|
|
|
|
#else
|
|
|
|
#include <hash_map>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef GCC3
|
|
|
|
#define nspace __gnu_cxx
|
|
|
|
#else
|
|
|
|
#define nspace std
|
|
|
|
#endif
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
namespace nspace
|
|
|
|
{
|
|
|
|
#ifdef GCC34
|
|
|
|
template<> struct hash<in_addr>
|
|
|
|
#else
|
|
|
|
template<> struct nspace::hash<in_addr>
|
|
|
|
#endif
|
|
|
|
{
|
2005-05-15 03:17:33 +00:00
|
|
|
size_t operator()(const struct in_addr &a) const;
|
2005-05-15 03:03:23 +00:00
|
|
|
};
|
|
|
|
#ifdef GCC34
|
|
|
|
template<> struct hash<string>
|
|
|
|
#else
|
|
|
|
template<> struct nspace::hash<string>
|
|
|
|
#endif
|
|
|
|
{
|
2005-05-15 03:17:33 +00:00
|
|
|
size_t operator()(const string &s) const;
|
2005-05-15 03:03:23 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
struct StrHashComp
|
|
|
|
{
|
|
|
|
|
2005-05-15 03:17:33 +00:00
|
|
|
bool operator()(const string& s1, const string& s2) const;
|
2005-05-15 03:03:23 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct InAddr_HashComp
|
|
|
|
{
|
2005-05-15 03:17:33 +00:00
|
|
|
bool operator()(const in_addr &s1, const in_addr &s2) const;
|
2005-05-15 03:03:23 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|