13[[nodiscard]]
bool contains(std::string_view s,
char c);
23[[nodiscard]]
bool matches(std::string_view in, std::string_view search);
25[[nodiscard]]
bool iequals(std::string_view s1, std::string_view s2);
27void ltrim(std::string& s);
29[[nodiscard]] std::string_view
ltrim(std::string_view s);
31void rtrim(std::string& s);
33[[nodiscard]] std::string_view
rtrim(std::string_view s);
35void trim(std::string& s);
37[[nodiscard]] std::string_view
trim(std::string_view s);
39void ltrim(std::string& s, std::string_view chars);
41[[nodiscard]] std::string_view
ltrim(std::string_view s, std::string_view chars);
43void rtrim(std::string& s, std::string_view chars);
45[[nodiscard]] std::string_view
rtrim(std::string_view s, std::string_view chars);
47void trim(std::string& s, std::string_view chars);
49[[nodiscard]] std::string_view
trim(std::string_view s, std::string_view chars);
51[[nodiscard]] std::vector<std::string>
split(std::string_view s,
char delim);
53void toLower(std::string& input);
55[[nodiscard]] std::string
toLower(std::string_view input);
57void toUpper(std::string& input);
59[[nodiscard]] std::string
toUpper(std::string_view input);
61[[nodiscard]] std::string
createRandom(uint16_t length = 32, std::string_view chars =
"0123456789_abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ");
65[[nodiscard]] std::string
padNumber(int64_t number,
int width,
char pad =
'0');
67void normalizeSlashes(std::string& path,
bool stripSlashPrefix =
false,
bool stripSlashSuffix =
true);
69void denormalizeSlashes(std::string& path,
bool stripSlashPrefix =
false,
bool stripSlashSuffix =
true);
71std::from_chars_result
toBool(std::string_view number,
bool& out,
int base = 10);
73inline std::from_chars_result
toInt(std::string_view number, std::integral
auto& out,
int base = 10) {
74 return std::from_chars(number.data(), number.data() + number.size(), out, base);
77inline std::from_chars_result
toFloat(std::string_view number, std::floating_point
auto& out) {
80 out = std::stof(std::string{number});
81 return {number.data(), {}};
83 return std::from_chars(number.data(), number.data() + number.size(), out);
std::string createRandom(uint16_t length=32, std::string_view chars="0123456789_abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ")
std::from_chars_result toFloat(std::string_view number, std::floating_point auto &out)
bool contains(std::string_view s, char c)
void normalizeSlashes(std::string &path, bool stripSlashPrefix=false, bool stripSlashSuffix=true)
std::from_chars_result toBool(std::string_view number, bool &out, int base=10)
void ltrim(std::string &s)
std::vector< std::string > split(std::string_view s, char delim)
std::from_chars_result toInt(std::string_view number, std::integral auto &out, int base=10)
void denormalizeSlashes(std::string &path, bool stripSlashPrefix=false, bool stripSlashSuffix=true)
bool matches(std::string_view in, std::string_view search)
A very basic regex-like pattern checker for ASCII strings.
std::string padNumber(int64_t number, int width, char pad='0')
void rtrim(std::string &s)
void toUpper(std::string &input)
void trim(std::string &s)
bool iequals(std::string_view s1, std::string_view s2)
void toLower(std::string &input)
std::string generateUUIDv4()