pub struct OpaqueRefCountedFacade<B = RefCounted> { /* private fields */ }Expand description
A zero-sized facade type for opaque ref-counted C++ objects that derive from a base class B.
This is used as a field in Rust facade structs that represent C++ objects of unknown size.
It keeps the facade struct Sized (size 0) so it can be used in FFI (thin pointers) and with
generic containers like RefPtr, while providing Send, Sync, and PhantomPinned.
Trait Implementations§
Source§impl<B: Default> Default for OpaqueRefCountedFacade<B>
impl<B: Default> Default for OpaqueRefCountedFacade<B>
Source§fn default() -> OpaqueRefCountedFacade<B>
fn default() -> OpaqueRefCountedFacade<B>
Returns the “default value” for a type. Read more
Source§impl<B: HasRefCount> HasRefCount for OpaqueRefCountedFacade<B>
impl<B: HasRefCount> HasRefCount for OpaqueRefCountedFacade<B>
Source§fn ref_count(&self) -> &RefCounted
fn ref_count(&self) -> &RefCounted
Returns a reference to the contained
RefCounted field.Source§impl<B: Recyclable> Recyclable for OpaqueRefCountedFacade<B>
impl<B: Recyclable> Recyclable for OpaqueRefCountedFacade<B>
impl<B> Send for OpaqueRefCountedFacade<B>
impl<B> Sync for OpaqueRefCountedFacade<B>
Auto Trait Implementations§
impl<B = RefCounted> !Freeze for OpaqueRefCountedFacade<B>
impl<B = RefCounted> !RefUnwindSafe for OpaqueRefCountedFacade<B>
impl<B = RefCounted> !Unpin for OpaqueRefCountedFacade<B>
impl<B> UnsafeUnpin for OpaqueRefCountedFacade<B>
impl<B> UnwindSafe for OpaqueRefCountedFacade<B>
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> PinInit<T> for T
impl<T> PinInit<T> for T
Source§unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
Initializes
slot. Read moreSource§fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>where
F: FnOnce(Pin<&mut T>) -> Result<(), E>,
fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>where
F: FnOnce(Pin<&mut T>) -> Result<(), E>,
First initializes the value using
self then calls the function f with the initialized
value. Read more