同步操作将从 libhv/libhv 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef HV_STRING_H_#define HV_STRING_H_#include <string>#include <vector>#include <iostream>#include <sstream>#include "hexport.h"#include "hplatform.h"#include "hmap.h"#define SPACE_CHARS " \t\r\n"#define PAIR_CHARS "{}[]()<>\"\"\'\'``"namespace hv {HV_EXPORT extern std::string empty_string;HV_EXPORT extern std::map<std::string, std::string> empty_map;typedef std::vector<std::string> StringList;// std::map<std::string, std::string, StringCaseLess>class StringCaseLess : public std::less<std::string> {public:bool operator()(const std::string& lhs, const std::string& rhs) const {return strcasecmp(lhs.c_str(), rhs.c_str()) < 0;}};// NOTE: low-version NDK not provide std::to_stringtemplate<typename T>HV_INLINE std::string to_string(const T& t) {std::ostringstream oss;oss << t;return oss.str();}template<typename T>HV_INLINE T from_string(const std::string& str) {T t;std::istringstream iss(str);iss >> t;return t;}template<typename T>HV_INLINE void print(const T& t) {std::cout << t;}template<typename T>HV_INLINE void println(const T& t) {std::cout << t << std::endl;}HV_EXPORT std::string& toupper(std::string& str);HV_EXPORT std::string& tolower(std::string& str);HV_EXPORT std::string& reverse(std::string& str);HV_EXPORT bool startswith(const std::string& str, const std::string& start);HV_EXPORT bool endswith(const std::string& str, const std::string& end);HV_EXPORT bool contains(const std::string& str, const std::string& sub);HV_EXPORT std::string asprintf(const char* fmt, ...);// x,y,zHV_EXPORT StringList split(const std::string& str, char delim = ',');// k1=v1&k2=v2HV_EXPORT hv::KeyValue splitKV(const std::string& str, char kv_kv = '&', char k_v = '=');HV_EXPORT std::string trim(const std::string& str, const char* chars = SPACE_CHARS);HV_EXPORT std::string ltrim(const std::string& str, const char* chars = SPACE_CHARS);HV_EXPORT std::string rtrim(const std::string& str, const char* chars = SPACE_CHARS);HV_EXPORT std::string trim_pairs(const std::string& str, const char* pairs = PAIR_CHARS);HV_EXPORT std::string replace(const std::string& str, const std::string& find, const std::string& rep);HV_EXPORT std::string replaceAll(const std::string& str, const std::string& find, const std::string& rep);struct HV_EXPORT NetAddr {std::string ip;int port;NetAddr() : port(0) {}NetAddr(const std::string& _ip, int _port) : ip(_ip), port(_port) {}NetAddr(const std::string& ipport) { from_string(ipport); }void from_string(const std::string& ipport);std::string to_string();};} // end namespace hv#endif // HV_STRING_H_
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。