1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#pragma once
#include <string>
#include "convert.h"
namespace string
{
/**
* Joins all the parts of the given container into a new string, separating
* the parts by the given separator string.
*/
template<typename ContainerType>
inline std::string join(const ContainerType& parts, const std::string& separator)
{
std::string result;
if (parts.empty()) return result;
typename ContainerType::const_iterator part = parts.begin();
result.append(to_string(*part++));
while (part != parts.end())
{
result.append(separator);
result.append(to_string(*part++));
}
return result;
}
}
|