Join a list of strings using an arbitrary separator.
| 192 | |
| 193 | // Join a list of strings using an arbitrary separator. |
| 194 | inline std::string Join(const StringVec & strings, char separator) |
| 195 | { |
| 196 | if (strings.empty()) return ""; |
| 197 | |
| 198 | const StringVec::size_type len = strings.size(); |
| 199 | |
| 200 | if (len==1) return strings[0]; |
| 201 | |
| 202 | const std::string sep(1, separator); |
| 203 | |
| 204 | std::string result{strings[0]}; |
| 205 | for (StringVec::size_type i=1; i<len; ++i) |
| 206 | { |
| 207 | result += sep + " " + strings[i]; |
| 208 | } |
| 209 | |
| 210 | return result; |
| 211 | } |
| 212 | |
| 213 | // Split a string content by line feeds. |
| 214 | inline StringVec SplitByLines(const std::string & str) |