pub struct ComBox<T: ComClass> { /* private fields */ }
Expand description
Pointer to a COM-enabled Rust struct.
Intercom requires a specific memory layout for the COM objects so that it can implement reference counting and map COM method calls back to the target struct instance.
This is done by requiring each COM-enabled Rust object is constructed
through a ComBox<T>
type.
Technically the memory layout is specified by the ComBoxData
type, however that type shouldn’t be needed by the user. For all intents
the ComBox
type is the COM-compatible object handle.
Implementations§
Trait Implementations§
Source§impl<T: ComClass> AsMut<ComBoxData<T>> for ComBox<T>
impl<T: ComClass> AsMut<ComBoxData<T>> for ComBox<T>
Source§fn as_mut(&mut self) -> &mut ComBoxData<T>
fn as_mut(&mut self) -> &mut ComBoxData<T>
Converts this type into a mutable reference of the (usually inferred) input type.
Source§impl<T: ComClass> AsRef<ComBoxData<T>> for ComBox<T>
impl<T: ComClass> AsRef<ComBoxData<T>> for ComBox<T>
Source§fn as_ref(&self) -> &ComBoxData<T>
fn as_ref(&self) -> &ComBoxData<T>
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<I: ComInterface + ?Sized, T: HasInterface<I>> From<&ComBox<T>> for ComRc<I>
impl<I: ComInterface + ?Sized, T: HasInterface<I>> From<&ComBox<T>> for ComRc<I>
Source§impl<I: ComInterface + ?Sized, T: HasInterface<I>> From<ComBox<T>> for ComRc<I>
impl<I: ComInterface + ?Sized, T: HasInterface<I>> From<ComBox<T>> for ComRc<I>
Auto Trait Implementations§
impl<T> Freeze for ComBox<T>
impl<T> RefUnwindSafe for ComBox<T>
impl<T> !Send for ComBox<T>
impl<T> !Sync for ComBox<T>
impl<T> Unpin for ComBox<T>
impl<T> UnwindSafe for ComBox<T>
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> ExternDefault for T
impl<T> ExternDefault for T
Source§unsafe fn extern_default() -> T
unsafe fn extern_default() -> T
Safety Read more