xref: /third_party/rust/crates/cxx/src/symbols/rust_slice.rs
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/rust/crates/cxx/src/symbols/
133d722a9Sopenharmony_ciuse crate::rust_slice::RustSlice;
233d722a9Sopenharmony_ciuse core::mem::MaybeUninit;
333d722a9Sopenharmony_ciuse core::ptr::{self, NonNull};
433d722a9Sopenharmony_ci
533d722a9Sopenharmony_ci#[export_name = "cxxbridge1$slice$new"]
633d722a9Sopenharmony_ciunsafe extern "C" fn slice_new(this: &mut MaybeUninit<RustSlice>, ptr: NonNull<()>, len: usize) {
733d722a9Sopenharmony_ci    let this = this.as_mut_ptr();
833d722a9Sopenharmony_ci    let rust_slice = RustSlice::from_raw_parts(ptr, len);
933d722a9Sopenharmony_ci    unsafe { ptr::write(this, rust_slice) }
1033d722a9Sopenharmony_ci}
1133d722a9Sopenharmony_ci
1233d722a9Sopenharmony_ci#[export_name = "cxxbridge1$slice$ptr"]
1333d722a9Sopenharmony_ciunsafe extern "C" fn slice_ptr(this: &RustSlice) -> NonNull<()> {
1433d722a9Sopenharmony_ci    this.as_non_null_ptr()
1533d722a9Sopenharmony_ci}
1633d722a9Sopenharmony_ci
1733d722a9Sopenharmony_ci#[export_name = "cxxbridge1$slice$len"]
1833d722a9Sopenharmony_ciunsafe extern "C" fn slice_len(this: &RustSlice) -> usize {
1933d722a9Sopenharmony_ci    this.len()
2033d722a9Sopenharmony_ci}
21

Indexes created Thu Nov 07 10:32:03 CST 2024