Struct autocxx::CppUniquePtrPin
source · pub struct CppUniquePtrPin<T: UniquePtrTarget>(_);
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> 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