#[repr(C)]pub struct SharedPtr<T: Shared>(/* private fields */);
Expand description
Wrapper around a C++ shared_ptr. A shared_ptr may be be null.
Implementations§
Sourcepub fn assert_use_count_eq(&self, expected: usize)
pub fn assert_use_count_eq(&self, expected: usize)
Asserts that the number of references to the shared inner value is equal
to the expected
count.
This function relies on the C++ method std::shared_ptr::use_count()
,
which usually performs a relaxed load. This function will repeatedly call
use_count()
until it returns the expected value, for up to one second.
Therefore it should probably not be used in performance critical code.
pub fn is_null(&self) -> bool
pub fn take(&mut self) -> Option<SharedRef<T>>
pub fn unwrap(self) -> SharedRef<T>
Trait Implementations§
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)