Add rust::Vec push_back and emplace_back
diff --git a/gen/src/builtin.rs b/gen/src/builtin.rs
index 72b411c..41d037a 100644
--- a/gen/src/builtin.rs
+++ b/gen/src/builtin.rs
@@ -69,6 +69,7 @@
include.array = true;
include.new = true;
include.type_traits = true;
+ include.utility = true;
builtin.panic = true;
builtin.unsafe_bitcopy = true;
}
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 69b9f2e..5fe8ee3 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1078,6 +1078,16 @@
);
writeln!(
out,
+ "void cxxbridge05$rust_vec${}$reserve_total(::rust::Vec<{}> *ptr, size_t cap) noexcept;",
+ instance, inner,
+ );
+ writeln!(
+ out,
+ "void cxxbridge05$rust_vec${}$set_len(::rust::Vec<{}> *ptr, size_t len) noexcept;",
+ instance, inner,
+ );
+ writeln!(
+ out,
"size_t cxxbridge05$rust_vec${}$stride() noexcept;",
instance,
);
@@ -1133,6 +1143,28 @@
writeln!(out, "}}");
writeln!(out, "template <>");
+ writeln!(
+ out,
+ "void Vec<{}>::reserve_total(size_t cap) noexcept {{",
+ inner,
+ );
+ writeln!(
+ out,
+ " return cxxbridge05$rust_vec${}$reserve_total(this, cap);",
+ instance,
+ );
+ writeln!(out, "}}");
+
+ writeln!(out, "template <>");
+ writeln!(out, "void Vec<{}>::set_len(size_t len) noexcept {{", inner);
+ writeln!(
+ out,
+ " return cxxbridge05$rust_vec${}$set_len(this, len);",
+ instance,
+ );
+ writeln!(out, "}}");
+
+ writeln!(out, "template <>");
writeln!(out, "size_t Vec<{}>::stride() noexcept {{", inner);
writeln!(out, " return cxxbridge05$rust_vec${}$stride();", instance);
writeln!(out, "}}");