#ifndef WUTILS_H #define WUTILS_H #include #include #include #include #include std::vector split(std::vector &v, const std::string s, const char sep); char* str_to_charp(const std::string s); template std::string NumberToString ( T Number ) { std::ostringstream ss; ss << Number; return ss.str(); } template std::string NumberToString ( T Number,int w) { std::ostringstream ss; ss < T StringToNumber ( const std::string &Text ) { std::istringstream ss(Text); T result; return ss >> result ? result : 0; } std::string strtohex(const std::string s); std::string hextostr(const std::string s); const static std::string ZBEGIN_ = "ZZZ"; const static std::string ZEND_ = "YY"; std::string zstrtohex(const std::string s); std::string zhextostr(const std::string s); std::string gen_random(const int len); int get_file_contents(std::string &contents,const std::string &filename); inline std::string trim_right( const std::string& s, const std::string& delimiters = " \f\n\r\t\v" ) { size_t p = s.find_last_not_of(delimiters); if (p == s.npos) return ""; return s.substr( 0, p + 1 ); } inline std::string trim_left( const std::string& s, const std::string& delimiters = " \f\n\r\t\v" ) { size_t p = s.find_first_not_of(delimiters); if (p == s.npos) return ""; return s.substr(p); } inline std::string trim( const std::string& s, const std::string& delimiters = " \f\n\r\t\v" ) { return trim_left( trim_right( s, delimiters ), delimiters ); } int mkdir_p(const std::string &s,mode_t m); std::string envtostr(const std::string &s); #endif