| 103 | */ |
| 104 | template <typename T, typename std::enable_if<std::is_same<typename T::value_type, std::string>::value, int>::type = 0> |
| 105 | std::string join(T first, T last, const std::string &separator) |
| 106 | { |
| 107 | return std::accumulate(std::next(first), last, *first, |
| 108 | [&separator](const std::string &base, const std::string &suffix) |
| 109 | { return base + separator + suffix; }); |
| 110 | } |
| 111 | |
| 112 | /** Helper function to concatenate multiple values. |
| 113 | * |
no test coverage detected