aboutsummaryrefslogtreecommitdiff
path: root/src/cxx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cxx.cc')
-rw-r--r--src/cxx.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cxx.cc b/src/cxx.cc
index 921b17db..2a615483 100644
--- a/src/cxx.cc
+++ b/src/cxx.cc
@@ -40,8 +40,11 @@ bool cxxbridge1$string$from_utf16(rust::String *self, const char16_t *ptr,
void cxxbridge1$string$drop(rust::String *self) noexcept;
const char *cxxbridge1$string$ptr(const rust::String *self) noexcept;
std::size_t cxxbridge1$string$len(const rust::String *self) noexcept;
+std::size_t cxxbridge1$string$capacity(const rust::String *self) noexcept;
void cxxbridge1$string$reserve_additional(rust::String *self,
size_t additional) noexcept;
+void cxxbridge1$string$reserve_total(rust::String *self,
+ size_t new_cap) noexcept;
// rust::Str
void cxxbridge1$str$new(rust::Str *self) noexcept;
@@ -165,6 +168,14 @@ const char *String::c_str() noexcept {
return ptr;
}
+std::size_t String::capacity() const noexcept {
+ return cxxbridge1$string$capacity(this);
+}
+
+void String::reserve(std::size_t new_cap) noexcept {
+ cxxbridge1$string$reserve_total(this, new_cap);
+}
+
String::iterator String::begin() noexcept {
return const_cast<char *>(this->data());
}