2005-05-15 04:21:31 +00:00
|
|
|
/* +------------------------------------+
|
|
|
|
* | Inspire Internet Relay Chat Daemon |
|
|
|
|
* +------------------------------------+
|
|
|
|
*
|
|
|
|
* Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
|
|
|
|
* E-mail:
|
|
|
|
* <brain@chatspike.net>
|
|
|
|
* <Craig@chatspike.net>
|
|
|
|
*
|
|
|
|
* Written by Craig Edwards, Craig McLure, and others.
|
|
|
|
* This program is free but copyrighted software; see
|
|
|
|
* the file COPYING for details.
|
|
|
|
*
|
|
|
|
* ---------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
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
|