X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhashcomp.h;h=dc07c190e8b62e063283d253c8dfa18e88b00443;hb=dd98d56cabcd08a3d5207454e002b187af98d28a;hp=0556f4399aefda9fb46042f0a0f24942fbfd3755;hpb=f2acdbc3820f0f4f5ef76a0a64e73d2a320df91f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hashcomp.h b/include/hashcomp.h index 0556f4399..dc07c190e 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 @@ -324,9 +324,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 +438,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 +546,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 +614,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(); }