diff --git a/include/cubescript/cubescript.hh b/include/cubescript/cubescript.hh index 9990b4fa..b77d8d56 100644 --- a/include/cubescript/cubescript.hh +++ b/include/cubescript/cubescript.hh @@ -583,23 +583,24 @@ private: namespace util { template inline R &&escape_string(R &&writer, ostd::string_range str) { + using namespace ostd::string_literals; writer.put('"'); for (; !str.empty(); str.pop_front()) { switch (str.front()) { case '\n': - writer = ostd::copy(ostd::string_range{"^n"}, writer); + ostd::range_put_all(writer, "^n"_sr); break; case '\t': - writer = ostd::copy(ostd::string_range{"^t"}, writer); + ostd::range_put_all(writer, "^t"_sr); break; case '\f': - writer = ostd::copy(ostd::string_range{"^f"}, writer); + ostd::range_put_all(writer, "^f"_sr); break; case '"': - writer = ostd::copy(ostd::string_range{"^\""}, writer); + ostd::range_put_all(writer, "^\""_sr); break; case '^': - writer = ostd::copy(ostd::string_range{"^^"}, writer); + ostd::range_put_all(writer, "^^"_sr); break; default: writer.put(str.front()); @@ -688,7 +689,7 @@ namespace util { if (!p_quote.empty() && (*p_quote == '"')) { return unescape_string(std::forward(writer), p_item); } else { - writer = ostd::copy(p_item, std::move(writer)); + ostd::range_put_all(writer, p_item); return std::forward(writer); } } @@ -759,7 +760,7 @@ private: case cs_value_type::String: case cs_value_type::Cstring: case cs_value_type::Macro: { - writer = ostd::copy(vals[i].get_strr(), writer); + ostd::range_put_all(writer, vals[i].get_strr()); break; } default: @@ -768,7 +769,7 @@ private: if (i == (vals.size() - 1)) { break; } - writer = ostd::copy(sep, writer); + ostd::range_put_all(writer, sep); } } diff --git a/src/lib_list.cc b/src/lib_list.cc index 13d08e0f..090ecc24 100644 --- a/src/lib_list.cc +++ b/src/lib_list.cc @@ -431,7 +431,7 @@ end: (p.get_raw_item(true).front() == '"')) { util::unescape_string(buf, p.get_raw_item()); } else { - buf = ostd::copy(p.get_raw_item(), std::move(buf)); + ostd::range_put_all(buf, p.get_raw_item()); } if ((n + 1) < len) { if ((len > 2) || conj.empty()) { @@ -439,7 +439,7 @@ end: } if ((n + 2 == len) && !conj.empty()) { buf.put(' '); - buf = ostd::copy(conj, std::move(buf)); + ostd::range_put_all(buf, conj); } buf.put(' '); }