X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhashcomp.h;h=eafc74abfda7b9fafad35cbe4401f6492fe552a8;hb=18154f4d229cf8ebdcec0dac671ad6e2e0049fee;hp=0556f4399aefda9fb46042f0a0f24942fbfd3755;hpb=603acdf77e561f527b27a4da5a4c74dc9d699b89;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hashcomp.h b/include/hashcomp.h index 0556f4399..eafc74abf 100644 --- a/include/hashcomp.h +++ b/include/hashcomp.h @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * InspIRCd: (C) 2002-2008 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -14,8 +14,8 @@ #ifndef _HASHCOMP_H_ #define _HASHCOMP_H_ -#include "inspircd_config.h" -#include "socket.h" +//#include "inspircd_config.h" +//#include "socket.h" #include "hash_map.h" /******************************************************* @@ -33,15 +33,6 @@ * aware of irc::string. *******************************************************/ -/** Required namespaces and symbols */ -using namespace std; - -/** aton() */ -using irc::sockets::insp_aton; - -/** nota() */ -using irc::sockets::insp_ntoa; - #ifndef LOWERMAP #define LOWERMAP /** A mapping of uppercase to lowercase, including scandinavian @@ -133,7 +124,7 @@ namespace irc /** This typedef declares irc::string based upon irc_char_traits. */ - typedef basic_string > string; + typedef std::basic_string > string; /** irc::stringjoiner joins string lists into a string, using * the given seperator string. @@ -324,9 +315,10 @@ namespace irc virtual ~sepstream(); /** Fetch the next token from the stream - * @return The next token is returned, or an empty string if none remain + * @param token The next token from the stream is placed here + * @return True if tokens still remain, false if there are none left */ - virtual const std::string GetToken(); + virtual bool GetToken(std::string &token); /** Fetch the entire remaining stream, without tokenizing * @return The remaining part of the stream @@ -437,8 +429,8 @@ namespace irc * To use this class, you must derive from it. * This is because each derived instance has its own freebits array * which can determine what bitfields are allocated on a TYPE BY TYPE - * basis, e.g. an irc::dynamicbitmask type for userrecs, and one for - * chanrecs, etc. You should inheret it in a very simple way as follows. + * basis, e.g. an irc::dynamicbitmask type for Users, and one for + * Channels, etc. You should inheret it in a very simple way as follows. * The base class will resize and maintain freebits as required, you are * just required to make the pointer static and specific to this class * type. @@ -545,7 +537,7 @@ namespace irc /** Set free bits mask */ - virtual void SetFreeBits(unsigned char* freebits) { } + virtual void SetFreeBits(unsigned char* freebits) { freebits = freebits; } }; /** Turn _ characters in a string into spaces @@ -613,6 +605,20 @@ inline bool operator== (const irc::string& leftval, const std::string& rightval) return (leftval == rightval.c_str()); } +/* Define operators != for irc::string to std::string for easy comparison + */ +inline bool operator!= (const irc::string& leftval, const std::string& rightval) +{ + return !(leftval == rightval.c_str()); +} + +/* Define operators != for std::string to irc::string for easy comparison + */ +inline bool operator!= (const std::string& leftval, const irc::string& rightval) +{ + return !(leftval.c_str() == rightval); +} + /** Assign an irc::string to a std::string. */ inline std::string assign(const irc::string &other) { return other.c_str(); } @@ -696,7 +702,7 @@ namespace nspace * @param s A string to hash * @return The hash value */ - size_t operator()(const string &s) const; + size_t operator()(const std::string &s) const; }; #endif