diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-05-15 03:17:33 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-05-15 03:17:33 +0000 |
commit | eb7125445e8740e177ad05a74a5cc90324a35f98 (patch) | |
tree | 309406afa2a4f4981917aaa13bd59b36b2ef59c5 /include | |
parent | eb4229deed0281ae566ef7e55a144e5d3183a4b2 (diff) |
(Untested) added hashcomp.cpp, seperates out the stl hash_map stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1384 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r-- | include/hashcomp.h | 43 |
1 files changed, 4 insertions, 39 deletions
diff --git a/include/hashcomp.h b/include/hashcomp.h index 0611cf239..42954fc37 100644 --- a/include/hashcomp.h +++ b/include/hashcomp.h @@ -1,9 +1,6 @@ #ifndef _HASHCOMP_H_ #define _HASHCOMP_H_ -#include "inspircd.h" -#include "inspircd_io.h" -#include "inspircd_util.h" #include "inspircd_config.h" #ifdef GCC3 @@ -28,12 +25,7 @@ namespace nspace template<> struct nspace::hash<in_addr> #endif { - size_t operator()(const struct in_addr &a) const - { - size_t q; - memcpy(&q,&a,sizeof(size_t)); - return q; - } + size_t operator()(const struct in_addr &a) const; }; #ifdef GCC34 template<> struct hash<string> @@ -41,14 +33,7 @@ namespace nspace template<> struct nspace::hash<string> #endif { - size_t operator()(const string &s) const - { - char a[MAXBUF]; - static struct hash<const char *> strhash; - strlcpy(a,s.c_str(),MAXBUF); - strlower(a); - return strhash(a); - } + size_t operator()(const string &s) const; }; } @@ -56,32 +41,12 @@ namespace nspace struct StrHashComp { - bool operator()(const string& s1, const string& s2) const - { - char a[MAXBUF],b[MAXBUF]; - strlcpy(a,s1.c_str(),MAXBUF); - strlcpy(b,s2.c_str(),MAXBUF); - strlower(a); - strlower(b); - return (strcasecmp(a,b) == 0); - } - + bool operator()(const string& s1, const string& s2) const; }; struct InAddr_HashComp { - - bool operator()(const in_addr &s1, const in_addr &s2) const - { - size_t q; - size_t p; - - memcpy(&q,&s1,sizeof(size_t)); - memcpy(&p,&s2,sizeof(size_t)); - - return (q == p); - } - + bool operator()(const in_addr &s1, const in_addr &s2) const; }; |