]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Merge branch 'master+writenumeric'
[user/henk/code/inspircd.git] / include / inspircd.h
index 91b70fbd8bbffe7bf80fbda14d2d907af1418fd4..ee09070f858799d5ffca7c534769c9a96dadc3ca 100644 (file)
@@ -32,6 +32,7 @@
 #include <cstdio>
 #include <cstring>
 #include <ctime>
+#include <stdint.h>
 
 #include <algorithm>
 #include <bitset>
@@ -64,6 +65,7 @@ struct fakederef
 };
 
 #include "config.h"
+#include "convto.h"
 #include "dynref.h"
 #include "consolecolors.h"
 #include "caller.h"
@@ -71,6 +73,7 @@ struct fakederef
 #include "extensible.h"
 #include "fileutils.h"
 #include "numerics.h"
+#include "numeric.h"
 #include "uid.h"
 #include "server.h"
 #include "users.h"
@@ -94,88 +97,6 @@ struct fakederef
 #include "bancache.h"
 #include "isupportmanager.h"
 
-/** Template function to convert any input type to std::string
- */
-template<typename T> inline std::string ConvNumeric(const T &in)
-{
-       if (in == 0)
-               return "0";
-       T quotient = in;
-       std::string out;
-       while (quotient)
-       {
-               out += "0123456789"[ std::abs( (long)quotient % 10 ) ];
-               quotient /= 10;
-       }
-       if (in < 0)
-               out += '-';
-       std::reverse(out.begin(), out.end());
-       return out;
-}
-
-/** Template function to convert any input type to std::string
- */
-inline std::string ConvToStr(const int in)
-{
-       return ConvNumeric(in);
-}
-
-/** Template function to convert any input type to std::string
- */
-inline std::string ConvToStr(const long in)
-{
-       return ConvNumeric(in);
-}
-
-/** Template function to convert any input type to std::string
- */
-inline std::string ConvToStr(const char* in)
-{
-       return in;
-}
-
-/** Template function to convert any input type to std::string
- */
-inline std::string ConvToStr(const bool in)
-{
-       return (in ? "1" : "0");
-}
-
-/** Template function to convert any input type to std::string
- */
-inline std::string ConvToStr(char in)
-{
-       return std::string(1, in);
-}
-
-/** Template function to convert any input type to std::string
- */
-template <class T> inline std::string ConvToStr(const T &in)
-{
-       std::stringstream tmp;
-       if (!(tmp << in)) return std::string();
-       return tmp.str();
-}
-
-/** Template function to convert any input type to any other type
- * (usually an integer or numeric type)
- */
-template<typename T> inline long ConvToInt(const T &in)
-{
-       std::stringstream tmp;
-       if (!(tmp << in)) return 0;
-       return atol(tmp.str().c_str());
-}
-
-inline uint64_t ConvToUInt64(const std::string& in)
-{
-       uint64_t ret;
-       std::istringstream tmp(in);
-       if (!(tmp >> ret))
-               return 0;
-       return ret;
-}
-
 /** This class contains various STATS counters
  * It is used by the InspIRCd class, which internally
  * has an instance of it.
@@ -664,4 +585,6 @@ inline void stdalgo::culldeleter::operator()(classbase* item)
                ServerInstance->GlobalCulls.AddItem(item);
 }
 
+#include "numericbuilder.h"
 #include "modules/whois.h"
+#include "modules/stats.h"