diff options
author | Attila Molnar <attilamolnar@hush.com> | 2016-02-25 18:05:04 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2016-02-25 18:05:04 +0100 |
commit | 761e6d75ba37b984998952940ed681e79e456142 (patch) | |
tree | 002d219057b5b4fda5c49595eada3eb7e1e8d525 /include/inspircd.h | |
parent | b928bbfd192c5569b2fc5d497cfc88790bb6d795 (diff) | |
parent | 304b6dbbf56710b1310fce8c5cf71b73334c060a (diff) |
Merge branch 'master+writenumeric'
Diffstat (limited to 'include/inspircd.h')
-rw-r--r-- | include/inspircd.h | 86 |
1 files changed, 4 insertions, 82 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 20a6508c9..ee09070f8 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -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. @@ -666,3 +587,4 @@ inline void stdalgo::culldeleter::operator()(classbase* item) #include "numericbuilder.h" #include "modules/whois.h" +#include "modules/stats.h" |