Add binding to append to CxxString
diff --git a/src/cxx_string.rs b/src/cxx_string.rs
index 7b47feb..dd53adc 100644
--- a/src/cxx_string.rs
+++ b/src/cxx_string.rs
@@ -6,9 +6,11 @@
 
 extern "C" {
     #[link_name = "cxxbridge05$cxx_string$data"]
-    fn string_data(_: &CxxString) -> *const u8;
+    fn string_data(this: &CxxString) -> *const u8;
     #[link_name = "cxxbridge05$cxx_string$length"]
-    fn string_length(_: &CxxString) -> usize;
+    fn string_length(this: &CxxString) -> usize;
+    #[link_name = "cxxbridge05$cxx_string$push"]
+    fn string_push(this: &mut CxxString, ptr: *const u8, len: usize);
 }
 
 /// Binding to C++ `std::string`.
@@ -82,6 +84,11 @@
     pub fn to_string_lossy(&self) -> Cow<str> {
         String::from_utf8_lossy(self.as_bytes())
     }
+
+    /// Appends a given string slice onto the end of this C++ string.
+    pub fn push_str(&mut self, s: &str) {
+        unsafe { string_push(self, s.as_ptr(), s.len()) }
+    }
 }
 
 impl Display for CxxString {