/* +------------------------------------+ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * * Inspire is copyright (C) 2002-2005 ChatSpike-Dev. * E-mail: * * * * Written by Craig Edwards, Craig McLure, and others. * This program is free but copyrighted software; see * the file COPYING for details. * * --------------------------------------------------- */ #ifndef _HASHCOMP_H_ #define _HASHCOMP_H_ #include "inspircd_config.h" #ifdef GCC3 #include #else #include #endif #ifdef GCC3 #define nspace __gnu_cxx #else #define nspace std #endif using namespace std; namespace nspace { #ifdef GCC34 template<> struct hash #else template<> struct nspace::hash #endif { size_t operator()(const struct in_addr &a) const; }; #ifdef GCC34 template<> struct hash #else template<> struct nspace::hash #endif { size_t operator()(const string &s) const; }; } struct StrHashComp { bool operator()(const string& s1, const string& s2) const; }; struct InAddr_HashComp { bool operator()(const in_addr &s1, const in_addr &s2) const; }; namespace irc { struct irc_char_traits : std::char_traits { static bool eq(char c1st, char c2nd); static bool ne(char c1st, char c2nd); static bool lt(char c1st, char c2nd); static int compare(const char* str1, const char* str2, size_t n); static const char* find(const char* s1, int n, char c); }; typedef basic_string > string; } #endif