Я знаю, что можно использовать boost escaped_list_separator, чтобы разделить строку и удалить экранирование одновременно.
Есть ли подобный (элегантный) способ добиться обратного результата? Как объединение нескольких строк в одну при добавлении экранирования?
Я знаю, что вы хотите однострочник, но не можете найти ничего, что соответствует вашим потребностям.
С string escape(const string &s)
функция, вы можете написать свой собственный однострочник:
#include <algorithm>
string escape(const string &s)
{
// Do your thing.
return result;
}
string joinEscaped(const vector<string> &v, const string &delimiter)
{
std::vector<string> temp(v.size());
std::transform(v.begin(), v.end(), temp.begin(), escape);
return boost::algorithm::join(temp, delimiter);
}
Других решений пока нет …