pub struct ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: 'cglue_a,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,{ /* private fields */ }Expand description
Trait group potentially implementing MemoryView < > + Process < > + VirtualTranslate < > traits.
Optional traits are not implemented here, however. There are numerous conversion functions available for safely retrieving a concrete collection of traits.
check_impl_ functions allow to check if the object implements the wanted traits.
into_impl_ functions consume the object and produce a new final structure that
keeps only the required information.
cast_impl_ functions merely check and transform the object into a type that can
be transformed back into ProcessInstance without losing data.
as_ref_, and as_mut_ functions obtain references to safe objects, but do not
perform any memory transformations either. They are the safest to use, because
there is no risk of accidentally consuming the whole object.
Implementations§
Source§impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
pub fn enable_virtualtranslate(
self,
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a VirtualTranslateVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: Default,
Source§impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Sourcepub fn new(
instance: CGlueInst,
context: CGlueCtx,
vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>>,
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
pub fn new(
instance: CGlueInst,
context: CGlueCtx,
vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>>,
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Create new instance of ProcessInstance.
Source§impl<'cglue_a, CGlueT> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>
impl<'cglue_a, CGlueT> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>
Sourcepub fn new_boxed(
this: CGlueT,
vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>>,
) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>where
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
pub fn new_boxed(
this: CGlueT,
vtbl_virtualtranslate: Option<&'cglue_a VirtualTranslateVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>>,
) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>where
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
Create new instance of ProcessInstance.
instance will be moved onto heap.
Source§impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
Sourcepub fn check_impl_virtualtranslate(&self) -> boolwhere
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
pub fn check_impl_virtualtranslate(&self) -> boolwhere
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
Check whether ProcessInstance implements MemoryView < > + Process < > + VirtualTranslate < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_virtualtranslate(
self,
) -> Option<impl MemoryView + Process + VirtualTranslate + 'cglue_a>where
ProcessInstanceFinalWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
pub fn into_impl_virtualtranslate(
self,
) -> Option<impl MemoryView + Process + VirtualTranslate + 'cglue_a>where
ProcessInstanceFinalWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
Retrieve a final ProcessInstance variant that implements MemoryView < > + Process < > + VirtualTranslate < >.
This consumes the ProcessInstance, and outputs Some(impl MemoryView < > + Process < > + VirtualTranslate < >), if all types are present.
Sourcepub fn cast_impl_virtualtranslate(
self,
) -> Option<ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
pub fn cast_impl_virtualtranslate(
self,
) -> Option<ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
Retrieve a concrete ProcessInstance variant that implements MemoryView < > + Process < > + VirtualTranslate < >.
This consumes the ProcessInstance, and outputs Some(impl MemoryView < > + Process < > + VirtualTranslate < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_virtualtranslate<'b>(
&'b mut self,
) -> Option<&'b mut (impl MemoryView + Process + VirtualTranslate + 'cglue_a)>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
pub fn as_mut_impl_virtualtranslate<'b>(
&'b mut self,
) -> Option<&'b mut (impl MemoryView + Process + VirtualTranslate + 'cglue_a)>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
Retrieve mutable reference to a concrete ProcessInstance variant that implements MemoryView < > + Process < > + VirtualTranslate < >.
Sourcepub fn as_ref_impl_virtualtranslate<'b>(
&'b self,
) -> Option<&'b (impl MemoryView + Process + VirtualTranslate + 'cglue_a)>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
pub fn as_ref_impl_virtualtranslate<'b>(
&'b self,
) -> Option<&'b (impl MemoryView + Process + VirtualTranslate + 'cglue_a)>where
ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + MemoryView + Process + VirtualTranslate,
Retrieve immutable reference to a concrete ProcessInstance variant that implements MemoryView < > + Process < > + VirtualTranslate < >.
Trait Implementations§
Source§impl<'cglue_a, CGlueInst, CGlueCtx> From<(CGlueInst, CGlueCtx)> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>: From<ProcessInstanceContainer<CGlueInst, CGlueCtx>>,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst, CGlueCtx> From<(CGlueInst, CGlueCtx)> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>: From<ProcessInstanceContainer<CGlueInst, CGlueCtx>>,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Source§fn from(
_: (CGlueInst, CGlueCtx),
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
fn from( _: (CGlueInst, CGlueCtx), ) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
Source§impl<'cglue_a, CGlueT, CGlueCtx> From<(CGlueT, CGlueCtx)> for ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
CGlueCtx: ContextBounds,
ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT, CGlueCtx> From<(CGlueT, CGlueCtx)> for ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
CGlueCtx: ContextBounds,
ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
Source§fn from(
_: (CGlueT, CGlueCtx),
) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>
fn from( _: (CGlueT, CGlueCtx), ) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>
Source§impl<'cglue_a, CGlueInst> From<CGlueInst> for ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>where
CGlueInst: Deref,
ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>: From<(CGlueInst, PhantomData<c_void>)>,
ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst> From<CGlueInst> for ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>where
CGlueInst: Deref,
ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>: From<(CGlueInst, PhantomData<c_void>)>,
ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>: CGlueObjBase,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, PhantomData<c_void>>>: 'cglue_a + Default,
Source§fn from(
instance: CGlueInst,
) -> ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>
fn from( instance: CGlueInst, ) -> ProcessInstance<'cglue_a, CGlueInst, PhantomData<c_void>>
Source§impl<'cglue_a, CGlueT> From<CGlueT> for ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>where
ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>: From<(CBox<'cglue_a, CGlueT>, PhantomData<c_void>)>,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT> From<CGlueT> for ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>where
ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>: From<(CBox<'cglue_a, CGlueT>, PhantomData<c_void>)>,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CBox<'cglue_a, CGlueT>, PhantomData<c_void>>>: 'cglue_a + Default,
Source§fn from(
instance: CGlueT,
) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>
fn from( instance: CGlueT, ) -> ProcessInstance<'cglue_a, CBox<'cglue_a, CGlueT>, PhantomData<c_void>>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> From<ProcessInstanceContainer<CGlueInst, CGlueCtx>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
<CGlueInst as Deref>::Target: ProcessInstanceVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst, CGlueCtx> From<ProcessInstanceContainer<CGlueInst, CGlueCtx>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
<CGlueInst as Deref>::Target: ProcessInstanceVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Source§fn from(
container: ProcessInstanceContainer<CGlueInst, CGlueCtx>,
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
fn from( container: ProcessInstanceContainer<CGlueInst, CGlueCtx>, ) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> From<ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> From<ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
Source§fn from(
input: ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>,
) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
fn from( input: ProcessInstanceWithVirtualTranslate<'cglue_a, CGlueInst, CGlueCtx>, ) -> ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
Source§impl<CGlueInst, CGlueCtx> GetContainer for ProcessInstance<'_, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<CGlueInst, CGlueCtx> GetContainer for ProcessInstance<'_, CGlueInst, CGlueCtx>where
CGlueInst: Deref,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
type ContType = ProcessInstanceContainer<CGlueInst, CGlueCtx>
fn ccont_ref( &self, ) -> &<ProcessInstance<'_, CGlueInst, CGlueCtx> as GetContainer>::ContType
fn ccont_mut( &mut self, ) -> &mut <ProcessInstance<'_, CGlueInst, CGlueCtx> as GetContainer>::ContType
fn into_ccont( self, ) -> <ProcessInstance<'_, CGlueInst, CGlueCtx> as GetContainer>::ContType
fn build_with_ccont( &self, container: <ProcessInstance<'_, CGlueInst, CGlueCtx> as GetContainer>::ContType, ) -> ProcessInstance<'_, CGlueInst, CGlueCtx>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: 'cglue_a + StableAbi,
CGlueCtx: ContextBounds + StableAbi,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: 'cglue_a + StableAbi,
CGlueCtx: ContextBounds + StableAbi,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
type StaticEquivalent = _static_ProcessInstance<'static, <CGlueInst as GetStaticEquivalent_>::StaticEquivalent, <CGlueCtx as GetStaticEquivalent_>::StaticEquivalent>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> GetVtbl<MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> GetVtbl<MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
fn get_vtbl( &self, ) -> &MemoryViewVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> GetVtbl<ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> GetVtbl<ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>> for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
fn get_vtbl( &self, ) -> &ProcessVtbl<'cglue_a, ProcessInstanceContainer<CGlueInst, CGlueCtx>>
Source§impl<'cglue_a, CGlueInst, CGlueCtx> Opaquable for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Opaquable,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
ProcessInstanceContainer<<CGlueInst as Opaquable>::OpaqueTarget, CGlueCtx>: CGlueObjBase,
Convert into opaque object.
impl<'cglue_a, CGlueInst, CGlueCtx> Opaquable for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Opaquable,
CGlueCtx: ContextBounds,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
ProcessInstanceContainer<<CGlueInst as Opaquable>::OpaqueTarget, CGlueCtx>: CGlueObjBase,
Convert into opaque object.
This is the prerequisite for using underlying trait implementations.
type OpaqueTarget = ProcessInstance<'cglue_a, <CGlueInst as Opaquable>::OpaqueTarget, CGlueCtx>
Source§fn into_opaque(self) -> Self::OpaqueTarget
fn into_opaque(self) -> Self::OpaqueTarget
Source§impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: 'cglue_a + StableAbi,
CGlueCtx: ContextBounds + StableAbi,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: 'cglue_a + StableAbi,
CGlueCtx: ContextBounds + StableAbi,
ProcessInstanceContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§const LAYOUT: &'static TypeLayout
const LAYOUT: &'static TypeLayout
Source§type IsNonZeroType = False
type IsNonZeroType = False
Source§const ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const-equivalents of the associated types.Auto Trait Implementations§
impl<'cglue_a, CGlueInst, CGlueCtx> Freeze for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> RefUnwindSafe for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: RefUnwindSafe,
CGlueCtx: RefUnwindSafe,
impl<'cglue_a, CGlueInst, CGlueCtx> Send for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> Sync for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Sync,
impl<'cglue_a, CGlueInst, CGlueCtx> Unpin for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> UnwindSafe for ProcessInstance<'cglue_a, CGlueInst, CGlueCtx>
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
Source§impl<T> GetWithMetadata for T
impl<T> GetWithMetadata for T
Source§type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
WithMetadata_<Self, Self>Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset. Read moreSource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset. Read moreSource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset. Read moreSource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset. Read moreSource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped except that the function takes &Self
Useful for functions that take &Self instead of Self. Read moreSource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped, except that the function takes &mut Self.
Useful for functions that take &mut Self instead of Self.Source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef,
using the turbofish .as_ref_::<_>() syntax. Read more