| 70 | |
| 71 | template <typename Con> |
| 72 | std::string Array(const Con &list) { |
| 73 | size_t total_size = |
| 74 | std::accumulate(list.begin(), list.end(), 0, [](size_t n, const auto &s) { return n + s.size(); }); |
| 75 | std::string result = MultiLen(list.size()); |
| 76 | result.reserve(result.size() + total_size); |
| 77 | for (const auto &i : list) result += i; |
| 78 | return result; |
| 79 | } |
| 80 | template <typename T> |
| 81 | std::string Array(std::initializer_list<T> list) { |
| 82 | return Array<std::initializer_list<T>>(list); |
no test coverage detected