pub struct CppUniquePtrPin<T: UniquePtrTarget>(/* private fields */);
Expand description
Any newtype wrapper which causes the contained UniquePtr
target to obey C++ reference
semantics rather than Rust reference semantics. That is, multiple aliasing
mutable C++ references may exist to the contents.
C++ references are permitted to alias one another, and commonly do. Rust references must alias according only to the narrow rules of the borrow checker.
Implementations§
Source§impl<T: UniquePtrTarget> CppUniquePtrPin<T>
impl<T: UniquePtrTarget> CppUniquePtrPin<T>
Trait Implementations§
Source§impl<T: UniquePtrTarget> AsCppMutRef<T> for CppUniquePtrPin<T>
impl<T: UniquePtrTarget> AsCppMutRef<T> for CppUniquePtrPin<T>
Source§fn as_cpp_mut_ref(&mut self) -> CppMutRef<'_, T>
fn as_cpp_mut_ref(&mut self) -> CppMutRef<'_, T>
Returns a mutable reference which obeys C++ reference semantics
Source§impl<T: UniquePtrTarget> AsCppRef<T> for CppUniquePtrPin<T>
impl<T: UniquePtrTarget> AsCppRef<T> for CppUniquePtrPin<T>
Source§fn as_cpp_ref(&self) -> CppRef<'_, T>
fn as_cpp_ref(&self) -> CppRef<'_, T>
Returns a reference which obeys C++ reference semantics
Auto Trait Implementations§
impl<T> Freeze for CppUniquePtrPin<T>
impl<T> RefUnwindSafe for CppUniquePtrPin<T>where
T: RefUnwindSafe,
impl<T> Send for CppUniquePtrPin<T>where
T: Send,
impl<T> Sync for CppUniquePtrPin<T>where
T: Sync,
impl<T> Unpin for CppUniquePtrPin<T>
impl<T> UnwindSafe for CppUniquePtrPin<T>where
T: UnwindSafe,
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