X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fhashcomp.h;h=1f1e541d3aeabf3aac8d6a916bf747cfa7f9ebcd;hb=ad0828aa6431021df45563d34de9976b2d303098;hp=2932f2a4862c069dab5a243ffbbc0bf7ea8ce368;hpb=66b90807bb94d88c8a34ec8a1fd7c1558941c47a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/hashcomp.h b/include/hashcomp.h index 2932f2a48..1f1e541d3 100644 --- a/include/hashcomp.h +++ b/include/hashcomp.h @@ -22,8 +22,7 @@ */ -#ifndef HASHCOMP_H -#define HASHCOMP_H +#pragma once #include #include @@ -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 > 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 &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 &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& 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 &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