15 #include <unordered_map>
31 void splitString(
const std::string&
string,
const char delim, std::vector<std::string>& ioParts);
39 std::vector<std::string>
splitString(
const std::string&
string,
const char delim);
49 std::string
joinString(
const T& list,
const char* delim);
56 void writeString(std::ostream& stream,
const std::string& text);
69 void toLower(std::string& ioString);
76 std::string
toLower(
const std::string&
string);
82 void toUpper(std::string& ioString);
89 std::string
toUpper(
const std::string&
string);
105 void tokenize(
const std::string& str, std::list<std::string>& tokens,
const std::string& delims,
bool omitTokens =
false);
114 bool startsWith(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
123 bool endsWith(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
132 bool contains(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
139 std::string
trim(
const std::string&
string);
146 std::string
lTrim(
const std::string&
string);
153 std::string
rTrim(
const std::string&
string);
160 template <
typename T>
170 template <
typename... Args>
171 static std::string stringFormat(
const char* msg, Args&&... args);
188 void namedFormat(std::string& subject,
const std::unordered_map<std::string, std::string>& rep);
204 void namedFormat(std::vector<std::string>& subjects,
const std::unordered_map<std::string, std::string>& rep);
212 std::string
replaceTemplateType(
const std::string& typeName,
const std::string& templateTypeName);
220 void replaceAllInstances(std::string& inString,
const std::string& find,
const std::string& replace);
229 std::string
replaceAllInstances(
const std::string& inString,
const std::string& find,
const std::string& replace);
237 int getLine(
const std::string& buffer,
size_t offset);
247 std::stringstream ss;
248 for (
size_t i = 0, len = list.size(); i < len; i++)
258 template <
typename... Args>
259 std::string stringFormat(
const char* format, Args&&... args)
261 size_t size = (size_t)(snprintf(
nullptr, 0, format, args...) + 1);
262 std::unique_ptr<char[]> buf(
new char[size]);
263 snprintf(buf.get(), size, format, args...);
264 return std::string(buf.get(), buf.get() + size - 1);
267 template <
typename T>
270 const void* addr =
static_cast<const void*
>(thing);
271 std::stringstream ss;
bool endsWith(const std::string &string, const std::string &subString, bool caseSensitive=true)
bool contains(const std::string &string, const std::string &subString, bool caseSensitive=true)
void toUpper(std::string &ioString)
void tokenize(const std::string &str, std::list< std::string > &tokens, const std::string &delims, bool omitTokens=false)
void toLower(std::string &ioString)
std::string replaceTemplateType(const std::string &typeName, const std::string &templateTypeName)
void namedFormat(std::string &subject, const std::unordered_map< std::string, std::string > &rep)
void splitString(const std::string &string, const char delim, std::vector< std::string > &ioParts)
std::string joinString(const T &list, const char *delim)
Definition: stringutils.h:245
std::string lTrim(const std::string &string)
std::string stripNamespace(const std::string &str)
std::string rTrim(const std::string &string)
std::string readString(std::istream &stream)
Definition: templateapp.h:17
std::string trim(const std::string &string)
bool startsWith(const std::string &string, const std::string &subString, bool caseSensitive=true)
int getLine(const std::string &buffer, size_t offset)
std::string addresStr(T thing)
Definition: stringutils.h:268
void writeString(std::ostream &stream, const std::string &text)
void replaceAllInstances(std::string &inString, const std::string &find, const std::string &replace)