]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/hashcomp.h
Move LogHeader to LogStream.
[user/henk/code/inspircd.git] / include / hashcomp.h
index 2932f2a4862c069dab5a243ffbbc0bf7ea8ce368..1f1e541d3aeabf3aac8d6a916bf747cfa7f9ebcd 100644 (file)
@@ -22,8 +22,7 @@
  */
 
 
-#ifndef HASHCOMP_H
-#define HASHCOMP_H
+#pragma once
 
 #include <cstring>
 #include <string>
@@ -110,6 +109,11 @@ namespace irc
                bool operator()(const std::string& s1, const std::string& s2) const;
        };
 
+       struct insensitive
+       {
+               size_t CoreExport operator()(const std::string &s) 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.
@@ -155,13 +159,6 @@ namespace irc
                static CoreExport const char* find(const char* s1, int  n, char c);
        };
 
-       /** Compose a hex string from raw data.
-        * @param raw The raw data to compose hex from
-        * @param rawsz The size of the raw data buffer
-        * @return The hex string.
-        */
-       CoreExport std::string hex(const unsigned char *raw, size_t rawsz);
-
        /** This typedef declares irc::string based upon irc_char_traits.
         */
        typedef std::basic_string<char, irc_char_traits, std::allocator<char> > string;
@@ -188,28 +185,12 @@ namespace irc
                 * @param begin The starting element in the sequence to be joined
                 * @param end The ending element in the sequence to be joined
                 */
-               stringjoiner(const std::string &seperator, const std::vector<std::string> &sequence, int begin, int end);
-
-               /** Join elements of a deque, between (and including) begin and end
-                * @param seperator The string to seperate values with
-                * @param sequence One or more items to seperate
-                * @param begin The starting element in the sequence to be joined
-                * @param end The ending element in the sequence to be joined
-                */
-               stringjoiner(const std::string &seperator, const std::deque<std::string> &sequence, int begin, int end);
-
-               /** Join elements of an array of char arrays, between (and including) begin and end
-                * @param seperator The string to seperate values with
-                * @param sequence One or more items to seperate
-                * @param begin The starting element in the sequence to be joined
-                * @param end The ending element in the sequence to be joined
-                */
-               stringjoiner(const std::string &seperator, const char* const* sequence, int begin, int end);
+               stringjoiner(const std::string& seperator, const std::vector<std::string>& sequence, unsigned int begin, unsigned int end);
 
                /** Get the joined sequence
-                * @return A reference to the joined string
+                * @return A constant reference to the joined string
                 */
-               std::string& GetJoined();
+               const std::string& GetJoined() const;
        };
 
        /** irc::modestacker stacks mode sequences into a list.
@@ -280,7 +261,7 @@ namespace irc
                 * mode changes to be obtained.
                 */
                int GetStackedLine(std::vector<std::string> &result, int max_line_size = 360);
-               
+
        };
 
        /** irc::tokenstream reads a string formatted as per RFC1459 and RFC2812.
@@ -320,10 +301,6 @@ namespace irc
                 */
                tokenstream(const std::string &source);
 
-               /** Destructor
-                */
-               ~tokenstream();
-
                /** Fetch the next token from the stream as a std::string
                 * @param token The next token available, or an empty string if none remain
                 * @return True if tokens are left to be read, false if the last token was just retrieved.
@@ -374,25 +351,21 @@ namespace irc
                 */
                sepstream(const std::string &source, char seperator);
 
-               /** Destructor
-                */
-               virtual ~sepstream();
-
                /** Fetch the next token from the stream
                 * @param token The next token from the stream is placed here
                 * @return True if tokens still remain, false if there are none left
                 */
-               virtual bool GetToken(std::string &token);
+               bool GetToken(std::string& token);
 
                /** Fetch the entire remaining stream, without tokenizing
                 * @return The remaining part of the stream
                 */
-               virtual const std::string GetRemaining();
+               const std::string GetRemaining();
 
                /** Returns true if the end of the stream has been reached
                 * @return True if the end of the stream has been reached, otherwise false
                 */
-               virtual bool StreamEnd();
+               bool StreamEnd();
        };
 
        /** A derived form of sepstream, which seperates on commas
@@ -473,12 +446,6 @@ namespace irc
                long GetToken();
        };
 
-       /** Turn _ characters in a string into spaces
-        * @param n String to translate
-        * @return The new value with _ translated to space.
-        */
-       CoreExport const char* Spacify(const char* n);
-
        struct hash
        {
                /** Hash an irc::string using RFC1459 case sensitivity rules
@@ -582,23 +549,3 @@ inline std::string& trim(std::string &str)
 
        return str;
 }
-
-namespace std
-{
-       namespace tr1
-       {
-               
-               struct insensitive
-               {
-                       size_t CoreExport operator()(const std::string &s) const;
-               };
-               
-        /** Convert a string to lower case respecting RFC1459
-        * @param n A string to lowercase
-        */
-        void strlower(char *n);
-               
-       }
-}
-
-#endif