diff options
author | David Tolnay <dtolnay@gmail.com> | 2021-08-27 13:20:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-27 13:20:35 -0700 |
commit | 800d98989532e519d422b94544e1421c9cb73006 (patch) | |
tree | 69dda3e26ff6e0c96715050fd6dd5917ee1402f5 /src/cxx.cc | |
parent | 36131a0818cee5c64c36b53eeb58d2d42e75adf4 (diff) | |
parent | 8f56cbbaceb349e9d054ee5e88170a199e917d19 (diff) | |
download | cxx-800d98989532e519d422b94544e1421c9cb73006.tar.gz |
Merge pull request #924 from dtolnay/ruststringcap
Expose capacity and reserve on rust::String
Diffstat (limited to 'src/cxx.cc')
-rw-r--r-- | src/cxx.cc | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -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()); } |