forked from OctaForge/libcubescript
use appender_range directly
parent
14436d6aa0
commit
e87b1b566c
|
@ -695,7 +695,7 @@ namespace util {
|
||||||
}
|
}
|
||||||
|
|
||||||
cs_string get_item() const {
|
cs_string get_item() const {
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
get_item(app);
|
get_item(app);
|
||||||
return std::move(app.get());
|
return std::move(app.get());
|
||||||
}
|
}
|
||||||
|
@ -747,7 +747,6 @@ private:
|
||||||
) {
|
) {
|
||||||
size_t ret = 0;
|
size_t ret = 0;
|
||||||
for (size_t i = 0; i < vals.size(); ++i) {
|
for (size_t i = 0; i < vals.size(); ++i) {
|
||||||
auto s = ostd::appender<cs_string>();
|
|
||||||
switch (vals[i].get_type()) {
|
switch (vals[i].get_type()) {
|
||||||
case cs_value_type::Int: {
|
case cs_value_type::Int: {
|
||||||
auto r = format_int(
|
auto r = format_int(
|
||||||
|
|
|
@ -19,7 +19,7 @@ ostd::string_range cs_gen_state::get_str() {
|
||||||
|
|
||||||
cs_string cs_gen_state::get_str_dup(bool unescape) {
|
cs_string cs_gen_state::get_str_dup(bool unescape) {
|
||||||
auto str = get_str();
|
auto str = get_str();
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
if (unescape) {
|
if (unescape) {
|
||||||
util::unescape_string(app, str);
|
util::unescape_string(app, str);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -430,7 +430,7 @@ static inline void callcommand(
|
||||||
break;
|
break;
|
||||||
case 'C': {
|
case 'C': {
|
||||||
i = ostd::max(i + 1, numargs);
|
i = ostd::max(i + 1, numargs);
|
||||||
auto buf = ostd::appender<cs_string>();
|
auto buf = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(buf, ostd::iter(args, args + i), " ");
|
cscript::util::tvals_concat(buf, ostd::iter(args, args + i), " ");
|
||||||
cs_value tv;
|
cs_value tv;
|
||||||
tv.set_str(std::move(buf.get()));
|
tv.set_str(std::move(buf.get()));
|
||||||
|
@ -1376,7 +1376,7 @@ static uint32_t *runcode(cs_state &cs, uint32_t *code, cs_value &result) {
|
||||||
int callargs = (op >> 8) & 0x1F, offset = numargs - callargs;
|
int callargs = (op >> 8) & 0x1F, offset = numargs - callargs;
|
||||||
result.force_null();
|
result.force_null();
|
||||||
{
|
{
|
||||||
auto buf = ostd::appender<cs_string>();
|
auto buf = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(buf, ostd::iter(
|
cscript::util::tvals_concat(buf, ostd::iter(
|
||||||
&args[offset], &args[offset + callargs]
|
&args[offset], &args[offset + callargs]
|
||||||
), " ");
|
), " ");
|
||||||
|
@ -1398,7 +1398,7 @@ static uint32_t *runcode(cs_state &cs, uint32_t *code, cs_value &result) {
|
||||||
case CsCodeConcW | CsRetFloat:
|
case CsCodeConcW | CsRetFloat:
|
||||||
case CsCodeConcW | CsRetInt: {
|
case CsCodeConcW | CsRetInt: {
|
||||||
int numconc = op >> 8;
|
int numconc = op >> 8;
|
||||||
auto buf = ostd::appender<cs_string>();
|
auto buf = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(
|
cscript::util::tvals_concat(
|
||||||
buf, ostd::iter(&args[numargs - numconc], &args[numargs]),
|
buf, ostd::iter(&args[numargs - numconc], &args[numargs]),
|
||||||
((op & CsCodeOpMask) == CsCodeConc) ? " " : ""
|
((op & CsCodeOpMask) == CsCodeConc) ? " " : ""
|
||||||
|
@ -1415,7 +1415,7 @@ static uint32_t *runcode(cs_state &cs, uint32_t *code, cs_value &result) {
|
||||||
case CsCodeConcM | CsRetFloat:
|
case CsCodeConcM | CsRetFloat:
|
||||||
case CsCodeConcM | CsRetInt: {
|
case CsCodeConcM | CsRetInt: {
|
||||||
int numconc = op >> 8;
|
int numconc = op >> 8;
|
||||||
auto buf = ostd::appender<cs_string>();
|
auto buf = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(
|
cscript::util::tvals_concat(
|
||||||
buf, ostd::iter(&args[numargs - numconc], &args[numargs])
|
buf, ostd::iter(&args[numargs - numconc], &args[numargs])
|
||||||
);
|
);
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
namespace cscript {
|
namespace cscript {
|
||||||
|
|
||||||
cs_string intstr(cs_int v) {
|
cs_string intstr(cs_int v) {
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::format_int(app, v);
|
cscript::util::format_int(app, v);
|
||||||
return std::move(app.get());
|
return std::move(app.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
cs_string floatstr(cs_float v) {
|
cs_string floatstr(cs_float v) {
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::format_float(app, v);
|
cscript::util::format_float(app, v);
|
||||||
return std::move(app.get());
|
return std::move(app.get());
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ void cs_ivar::set_value(cs_int val) {
|
||||||
|
|
||||||
cs_string cs_ivar::to_printable() const {
|
cs_string cs_ivar::to_printable() const {
|
||||||
cs_int i = p_storage;
|
cs_int i = p_storage;
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
try {
|
try {
|
||||||
if (!(get_flags() & CS_IDF_HEX) || (i < 0)) {
|
if (!(get_flags() & CS_IDF_HEX) || (i < 0)) {
|
||||||
format(app, IvarFormat, get_name(), i);
|
format(app, IvarFormat, get_name(), i);
|
||||||
|
@ -257,7 +257,7 @@ void cs_fvar::set_value(cs_float val) {
|
||||||
|
|
||||||
cs_string cs_fvar::to_printable() const {
|
cs_string cs_fvar::to_printable() const {
|
||||||
cs_float f = p_storage;
|
cs_float f = p_storage;
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
try {
|
try {
|
||||||
format(
|
format(
|
||||||
app, (f == cs_int(f)) ? FvarRoundFormat : FvarFormat, get_name(), f
|
app, (f == cs_int(f)) ? FvarRoundFormat : FvarFormat, get_name(), f
|
||||||
|
@ -277,7 +277,7 @@ void cs_svar::set_value(cs_string val) {
|
||||||
|
|
||||||
cs_string cs_svar::to_printable() const {
|
cs_string cs_svar::to_printable() const {
|
||||||
ostd::string_range s = p_storage;
|
ostd::string_range s = p_storage;
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
try {
|
try {
|
||||||
if (ostd::find(s, '"').empty()) {
|
if (ostd::find(s, '"').empty()) {
|
||||||
format(app, SvarFormat, get_name(), s);
|
format(app, SvarFormat, get_name(), s);
|
||||||
|
@ -1074,7 +1074,7 @@ void cs_init_lib_base(cs_state &gcs) {
|
||||||
} catch (cs_error const &e) {
|
} catch (cs_error const &e) {
|
||||||
result.set_str(cs_string{e.what()});
|
result.set_str(cs_string{e.what()});
|
||||||
if (e.get_stack().get()) {
|
if (e.get_stack().get()) {
|
||||||
auto app = ostd::appender<cs_string>();
|
auto app = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::print_stack(app, e.get_stack());
|
cscript::util::print_stack(app, e.get_stack());
|
||||||
tback.set_str(std::move(app.get()));
|
tback.set_str(std::move(app.get()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -421,7 +421,7 @@ end:
|
||||||
});
|
});
|
||||||
|
|
||||||
gcs.new_command("prettylist", "ss", [](auto &cs, auto args, auto &res) {
|
gcs.new_command("prettylist", "ss", [](auto &cs, auto args, auto &res) {
|
||||||
auto buf = ostd::appender<cs_string>();
|
auto buf = ostd::appender_range<cs_string>{};
|
||||||
ostd::string_range s = args[0].get_strr();
|
ostd::string_range s = args[0].get_strr();
|
||||||
ostd::string_range conj = args[1].get_strr();
|
ostd::string_range conj = args[1].get_strr();
|
||||||
size_t len = util::ListParser(cs, s).count();
|
size_t len = util::ListParser(cs, s).count();
|
||||||
|
|
|
@ -70,25 +70,25 @@ void cs_init_lib_string(cs_state &cs) {
|
||||||
});
|
});
|
||||||
|
|
||||||
cs.new_command("escape", "s", [](auto &, auto args, auto &res) {
|
cs.new_command("escape", "s", [](auto &, auto args, auto &res) {
|
||||||
auto s = ostd::appender<cs_string>();
|
auto s = ostd::appender_range<cs_string>{};
|
||||||
util::escape_string(s, args[0].get_strr());
|
util::escape_string(s, args[0].get_strr());
|
||||||
res.set_str(std::move(s.get()));
|
res.set_str(std::move(s.get()));
|
||||||
});
|
});
|
||||||
|
|
||||||
cs.new_command("unescape", "s", [](auto &, auto args, auto &res) {
|
cs.new_command("unescape", "s", [](auto &, auto args, auto &res) {
|
||||||
auto s = ostd::appender<cs_string>();
|
auto s = ostd::appender_range<cs_string>{};
|
||||||
util::unescape_string(s, args[0].get_strr());
|
util::unescape_string(s, args[0].get_strr());
|
||||||
res.set_str(std::move(s.get()));
|
res.set_str(std::move(s.get()));
|
||||||
});
|
});
|
||||||
|
|
||||||
cs.new_command("concat", "V", [](auto &, auto args, auto &res) {
|
cs.new_command("concat", "V", [](auto &, auto args, auto &res) {
|
||||||
auto s = ostd::appender<cs_string>();
|
auto s = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(s, args, " ");
|
cscript::util::tvals_concat(s, args, " ");
|
||||||
res.set_str(std::move(s.get()));
|
res.set_str(std::move(s.get()));
|
||||||
});
|
});
|
||||||
|
|
||||||
cs.new_command("concatword", "V", [](auto &, auto args, auto &res) {
|
cs.new_command("concatword", "V", [](auto &, auto args, auto &res) {
|
||||||
auto s = ostd::appender<cs_string>();
|
auto s = ostd::appender_range<cs_string>{};
|
||||||
cscript::util::tvals_concat(s, args);
|
cscript::util::tvals_concat(s, args);
|
||||||
res.set_str(std::move(s.get()));
|
res.set_str(std::move(s.get()));
|
||||||
});
|
});
|
||||||
|
@ -122,7 +122,7 @@ void cs_init_lib_string(cs_state &cs) {
|
||||||
});
|
});
|
||||||
|
|
||||||
cs.new_command("tohex", "ii", [](auto &, auto args, auto &res) {
|
cs.new_command("tohex", "ii", [](auto &, auto args, auto &res) {
|
||||||
auto r = ostd::appender<cs_string>();
|
auto r = ostd::appender_range<cs_string>{};
|
||||||
try {
|
try {
|
||||||
ostd::format(
|
ostd::format(
|
||||||
r, "0x%.*X", ostd::max(args[1].get_int(), cs_int(1)),
|
r, "0x%.*X", ostd::max(args[1].get_int(), cs_int(1)),
|
||||||
|
|
Loading…
Reference in New Issue