| 29 | |
| 30 | template<class T> |
| 31 | static std::string join(const std::vector<T> & values, const std::string & delim) { |
| 32 | std::ostringstream str; |
| 33 | for (size_t i = 0; i < values.size(); i++) { |
| 34 | str << values[i]; |
| 35 | if (i < values.size() - 1) { |
| 36 | str << delim; |
| 37 | } |
| 38 | } |
| 39 | return str.str(); |
| 40 | } |
| 41 | |
| 42 | template<class T> |
| 43 | static std::vector<T> split(const std::string & str, char delim) { |
no test coverage detected