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);
103 void removeChars(
const char* chars, std::string& ioString);
112 void tokenize(
const std::string& str, std::list<std::string>& tokens,
const std::string& delims,
bool omitTokens =
false);
121 bool startsWith(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
130 bool endsWith(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
139 bool contains(
const std::string&
string,
const std::string& subString,
bool caseSensitive =
true);
146 std::string
trim(
const std::string&
string);
153 std::string
lTrim(
const std::string&
string);
160 std::string
rTrim(
const std::string&
string);
167 template <
typename T>
177 template <
typename... Args>
178 static std::string stringFormat(
const char* msg, Args&&... args);
195 void namedFormat(std::string& subject,
const std::unordered_map<std::string, std::string>& rep);
211 void namedFormat(std::vector<std::string>& subjects,
const std::unordered_map<std::string, std::string>& rep);
219 std::string
replaceTemplateType(
const std::string& typeName,
const std::string& templateTypeName);
227 void replaceAllInstances(std::string& inString,
const std::string& find,
const std::string& replace);
236 std::string
replaceAllInstances(
const std::string& inString,
const std::string& find,
const std::string& replace);
244 int getLine(
const std::string& buffer,
size_t offset);
254 std::stringstream ss;
255 for (
size_t i = 0, len = list.size(); i < len; i++)
265 template <
typename... Args>
266 std::string stringFormat(
const char* format, Args&&... args)
268 size_t size = (size_t)(snprintf(
nullptr, 0, format, args...) + 1);
269 std::unique_ptr<char[]> buf(
new char[size]);
270 snprintf(buf.get(), size, format, args...);
271 return std::string(buf.get(), buf.get() + size - 1);
274 template <
typename T>
277 const void* addr =
static_cast<const void*
>(thing);
278 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)
void removeChars(const char *chars, std::string &ioString)
std::string joinString(const T &list, const char *delim)
Definition: stringutils.h:252
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:275
void writeString(std::ostream &stream, const std::string &text)
void replaceAllInstances(std::string &inString, const std::string &find, const std::string &replace)