| 2245 | inline bool is_space_or_tab(char c) { return c == ' ' || c == '\t'; } |
| 2246 | |
| 2247 | inline std::pair<size_t, size_t> trim(const char *b, const char *e, size_t left, |
| 2248 | size_t right) { |
| 2249 | while (b + left < e && is_space_or_tab(b[left])) { |
| 2250 | left++; |
| 2251 | } |
| 2252 | while (right > 0 && is_space_or_tab(b[right - 1])) { |
| 2253 | right--; |
| 2254 | } |
| 2255 | return std::make_pair(left, right); |
| 2256 | } |
| 2257 | |
| 2258 | inline std::string trim_copy(const std::string &s) { |
| 2259 | auto r = trim(s.data(), s.data() + s.size(), 0, s.size()); |
no test coverage detected