]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/hashcomp.h
Add counter system for umodes to get rid of some O(n)
[user/henk/code/inspircd.git] / include / hashcomp.h
index 3ee89ca04c8c50ec646b7026a749ee913e87f106..2d6be15a9be097d09d40c2f0e362fde5bf3991fa 100644 (file)
@@ -2,12 +2,9 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *                       E-mail:
- *                <brain@chatspike.net>
- *                <Craig@chatspike.net>
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
  *
- * Written by Craig Edwards, Craig McLure, and others.
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
  *
@@ -430,6 +427,7 @@ namespace irc
                 * more than 32 entries with Allocate().
                 */
                unsigned char* bits;
+        protected:
                /** Current set size (size of freebits and bits).
                 * Both freebits and bits will ALWAYS be the
                 * same length.
@@ -523,7 +521,7 @@ namespace irc
         */
        typedef basic_string<char, irc_char_traits, allocator<char> > string;
 
-       const char* Spacify(char* n);
+       const char* Spacify(const char* n);
 }
 
 /* Define operators for using >> and << with irc::string to an ostream on an istream. */
@@ -540,4 +538,17 @@ irc::string operator+ (irc::string& leftval, std::string& rightval);
 bool operator== (std::string& leftval, irc::string& rightval);
 bool operator== (irc::string& leftval, std::string& rightval);
 
+std::string assign(const irc::string &other);
+irc::string assign(const std::string &other);
+
+namespace nspace
+{
+       /** Hashing function to hash irc::string
+        */
+       template<> struct hash<irc::string>
+       {
+               size_t operator()(const irc::string &s) const;
+       };
+}
+
 #endif