3bool ends_with(
const std::string& str,
const std::string& suffix) {
4 return str.size() >= suffix.size() &&
5 str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
8std::vector<std::string>
split(
const std::string& s,
char delimiter) {
9 std::vector<std::string> parts;
10 std::string::size_type start = 0;
13 auto pos = s.find(delimiter, start);
14 if (pos == std::string::npos) {
15 parts.emplace_back(s.substr(start));
18 parts.emplace_back(s.substr(start, pos - start));
26 std::ostringstream out;
27 out << std::fixed << std::setprecision(precision) << value;
32 std::string result = str;
33 std::transform(result.begin(), result.end(), result.begin(), [](
unsigned char c){ return std::tolower(c); });
bool ends_with(const std::string &str, const std::string &suffix)
Tests whether a string ends with a given suffix.
std::vector< std::string > split(const std::string &s, char delimiter)
Splits a string into parts using a single-character delimiter.
std::string doubleToString(double value, int precision)
Converts a double to a fixed-format string with a given precision.
std::string to_lowercase(const std::string &str)
Returns a lowercase copy of the input string.