* | 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
#ifndef _HASHCOMP_H_
#define _HASHCOMP_H_
-#include "inspircd_config.h"
-#include "socket.h"
+//#include "inspircd_config.h"
+//#include "socket.h"
#include "hash_map.h"
/*******************************************************
* aware of irc::string.
*******************************************************/
-/** Required namespaces and symbols */
-using namespace std;
-
-/** aton() */
-using irc::sockets::insp_aton;
-
-/** nota() */
-using irc::sockets::insp_ntoa;
-
#ifndef LOWERMAP
#define LOWERMAP
/** A mapping of uppercase to lowercase, including scandinavian
/** This typedef declares irc::string based upon irc_char_traits.
*/
- typedef basic_string<char, irc_char_traits, allocator<char> > string;
+ typedef std::basic_string<char, irc_char_traits, std::allocator<char> > string;
/** irc::stringjoiner joins string lists into a string, using
* the given seperator string.
* This class can join a vector of std::string, a deque of
- * std::string, or a const char** array, using overloaded
+ * std::string, or a const char* const* array, using overloaded
* constructors.
*/
- class CoreExport stringjoiner
+ class CoreExport stringjoiner : public classbase
{
private:
/** Output string
* @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** sequence, int begin, int end);
+ stringjoiner(const std::string &seperator, const char* const* sequence, int begin, int end);
/** Get the joined sequence
* @return A reference to the joined string
* It can then reproduce this list, clamped to a maximum of MAXMODES
* values per line.
*/
- class CoreExport modestacker
+ class CoreExport modestacker : public classbase
{
private:
/** The mode sequence and its parameters
* list will be ":item". This is to allow for parsing 'source' fields
* from data.
*/
- class CoreExport tokenstream
+ class CoreExport tokenstream : public classbase
{
private:
/** Original string
* 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.
/** 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
* @param s A string to hash
* @return The hash value
*/
- size_t operator()(const string &s) const;
+ size_t operator()(const std::string &s) const;
};
#endif