]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/hashcomp.h
Index Channel::modes and User::modes with the id of the mode instead of its letter
[user/henk/code/inspircd.git] / include / hashcomp.h
index 0bf306267e43fcbc1e63f29dc71a39c3edae7f97..6cd3fc3c0fd06f6d7cb67c39ca0011433dbd1a60 100644 (file)
@@ -114,6 +114,11 @@ namespace irc
                size_t CoreExport operator()(const std::string &s) const;
        };
 
+       struct insensitive_swo
+       {
+               bool CoreExport operator()(const std::string& a, const std::string& b) const;
+       };
+
        /** The irc_char_traits class is used for RFC-style comparison of strings.
         * This class is used to implement irc::string, a case-insensitive, RFC-
         * comparing string class.
@@ -163,31 +168,11 @@ namespace irc
         */
        typedef std::basic_string<char, irc_char_traits, std::allocator<char> > string;
 
-       /** irc::stringjoiner joins string lists into a string, using
-        * space as the separator.
-        * This class can join a vector of std::string.
+       /** Joins the contents of a vector to a string.
+        * @param sequence Zero or more items to join.
+        * @separator The character to place between the items.
         */
-       class CoreExport stringjoiner
-       {
-        private:
-
-               /** Output string
-                */
-               std::string joined;
-
-        public:
-
-               /** Join all elements of a vector, in the resulting string
-                * each element will be seperated by a single space character.
-                * @param sequence Zero or more items to seperate
-                */
-               stringjoiner(const std::vector<std::string>& sequence);
-
-               /** Get the joined sequence
-                * @return A constant reference to the joined string
-                */
-               const std::string& GetJoined() const { return joined; }
-       };
+       std::string CoreExport stringjoiner(const std::vector<std::string>& sequence, char separator = ' ');
 
        /** irc::modestacker stacks mode sequences into a list.
         * It can then reproduce this list, clamped to a maximum of MAXMODES