| 182 | } |
| 183 | |
| 184 | template<typename Value> std::pair<String, String> split(Value &&value) const { |
| 185 | auto pos = find_first_of(std::forward<Value>(value)); |
| 186 | if (pos == npos) return {*this, nullptr}; |
| 187 | return {substr(0, pos), substr(pos + 1)}; |
| 188 | } |
| 189 | template<typename Value> std::pair<String, String> rsplit(Value &&value) const { |
| 190 | auto pos = find_last_of(std::forward<Value>(value)); |
| 191 | if (pos == npos) return {nullptr, *this}; |