| 74 | } |
| 75 | |
| 76 | void toupper(std::string& str) { |
| 77 | std::transform(str.begin(), str.end(), str.begin(), |
| 78 | [](unsigned char c) { return std::toupper(c); }); |
| 79 | } |
| 80 | |
| 81 | std::string& ltrim(std::string& str, const std::string& chars) { |
| 82 | str.erase(0, str.find_first_not_of(chars)); |
no test coverage detected