Struct memflow::connector::cpu_state::cglue_intocpustate::IntoCpuState
source · #[repr(C)]pub struct IntoCpuState<'cglue_a, CGlueInst: 'cglue_a, CGlueCtx: ContextBounds>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,{ /* private fields */ }
Expand description
Trait group potentially implementing :: cglue :: ext :: core :: clone :: Clone < > + CpuState < >
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 IntoCpuState
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: ContextBounds> IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
sourcepub fn new(instance: CGlueInst, context: CGlueCtx) -> Selfwhere
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
pub fn new(instance: CGlueInst, context: CGlueCtx) -> Selfwhere
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Create new instance of IntoCpuState.
source§impl<'cglue_a, CGlueT> IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>
impl<'cglue_a, CGlueT> IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>
sourcepub fn new_boxed(this: CGlueT) -> Selfwhere
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
pub fn new_boxed(this: CGlueT) -> Selfwhere
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
Create new instance of IntoCpuState.
instance
will be moved onto heap.
Trait Implementations§
source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> Clone for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> Clone for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>
source§impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<(CGlueInst, CGlueCtx)> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
Self: From<IntoCpuStateContainer<CGlueInst, CGlueCtx>>,
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<(CGlueInst, CGlueCtx)> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
Self: From<IntoCpuStateContainer<CGlueInst, CGlueCtx>>,
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
source§fn from((instance, context): (CGlueInst, CGlueCtx)) -> Self
fn from((instance, context): (CGlueInst, CGlueCtx)) -> Self
source§impl<'cglue_a, CGlueT, CGlueCtx: ContextBounds> From<(CGlueT, CGlueCtx)> for IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
Self: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT, CGlueCtx: ContextBounds> From<(CGlueT, CGlueCtx)> for IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
Self: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
source§fn from((this, context): (CGlueT, CGlueCtx)) -> Self
fn from((this, context): (CGlueT, CGlueCtx)) -> Self
source§impl<'cglue_a, CGlueInst: Deref> From<CGlueInst> for IntoCpuState<'cglue_a, CGlueInst, NoContext>where
Self: From<(CGlueInst, NoContext)>,
IntoCpuStateContainer<CGlueInst, NoContext>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref> From<CGlueInst> for IntoCpuState<'cglue_a, CGlueInst, NoContext>where
Self: From<(CGlueInst, NoContext)>,
IntoCpuStateContainer<CGlueInst, NoContext>: CGlueObjBase,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
source§impl<'cglue_a, CGlueT> From<CGlueT> for IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>where
Self: From<(CBox<'cglue_a, CGlueT>, NoContext)>,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT> From<CGlueT> for IntoCpuState<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>where
Self: From<(CBox<'cglue_a, CGlueT>, NoContext)>,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
source§impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<IntoCpuStateContainer<CGlueInst, CGlueCtx>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst::Target: IntoCpuStateVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<IntoCpuStateContainer<CGlueInst, CGlueCtx>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst::Target: IntoCpuStateVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
&'cglue_a CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
source§fn from(container: IntoCpuStateContainer<CGlueInst, CGlueCtx>) -> Self
fn from(container: IntoCpuStateContainer<CGlueInst, CGlueCtx>) -> Self
source§impl<CGlueInst: Deref, CGlueCtx: ContextBounds> GetContainer for IntoCpuState<'_, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<CGlueInst: Deref, CGlueCtx: ContextBounds> GetContainer for IntoCpuState<'_, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
source§impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
type StaticEquivalent = _static_IntoCpuState<'static, <CGlueInst as GetStaticEquivalent_>::StaticEquivalent, <CGlueCtx as GetStaticEquivalent_>::StaticEquivalent>
source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
fn get_vtbl( &self ) -> &CloneVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>
source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>> for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
fn get_vtbl( &self ) -> &CpuStateVtbl<'cglue_a, IntoCpuStateContainer<CGlueInst, CGlueCtx>>
source§impl<'cglue_a, CGlueInst: Opaquable, CGlueCtx: ContextBounds> Opaquable for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
IntoCpuStateContainer<CGlueInst::OpaqueTarget, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst: Opaquable, CGlueCtx: ContextBounds> Opaquable for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
IntoCpuStateContainer<CGlueInst::OpaqueTarget, CGlueCtx>: CGlueObjBase,
Convert into opaque object.
This is the prerequisite for using underlying trait implementations.
type OpaqueTarget = IntoCpuState<'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 IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
IntoCpuStateContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
§type IsNonZeroType = False
type IsNonZeroType = False
source§const LAYOUT: &'static TypeLayout = _
const LAYOUT: &'static TypeLayout = _
source§const ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const
-equivalents of the associated types.Auto Trait Implementations§
impl<'cglue_a, CGlueInst, CGlueCtx> RefUnwindSafe for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
CGlueCtx: RefUnwindSafe,
CGlueInst: RefUnwindSafe,
impl<'cglue_a, CGlueInst, CGlueCtx> Send for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> Sync for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>where
CGlueInst: Sync,
impl<'cglue_a, CGlueInst, CGlueCtx> Unpin for IntoCpuState<'cglue_a, CGlueInst, CGlueCtx>
impl<'cglue_a, CGlueInst, CGlueCtx> UnwindSafe for IntoCpuState<'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<'a, T> BorrowOwned<'a> for Twhere
T: 'a + Clone,
impl<'a, T> BorrowOwned<'a> for Twhere
T: 'a + Clone,
fn r_borrow( this: &'a <T as BorrowOwned<'a>>::ROwned ) -> <T as BorrowOwned<'a>>::RBorrowed
fn r_to_owned( this: <T as BorrowOwned<'a>>::RBorrowed ) -> <T as BorrowOwned<'a>>::ROwned
fn deref_borrowed(this: &<T as BorrowOwned<'a>>::RBorrowed) -> &T
fn deref_owned(this: &<T as BorrowOwned<'a>>::ROwned) -> &T
fn from_cow_borrow(this: &'a T) -> <T as BorrowOwned<'a>>::RBorrowed
fn from_cow_owned(this: <T as ToOwned>::Owned) -> <T as BorrowOwned<'a>>::ROwned
fn into_cow_borrow(this: <T as BorrowOwned<'a>>::RBorrowed) -> &'a T
fn into_cow_owned(this: <T as BorrowOwned<'a>>::ROwned) -> <T as ToOwned>::Owned
source§impl<T> GetWithMetadata for T
impl<T> GetWithMetadata for T
§type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
WithMetadata_<Self, Self>
§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset
. Read more§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 more§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 more§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 more§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
§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 more§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,
§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
§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 more§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,
§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
§fn piped_ref<'a, F, U>(&'a self, f: F) -> U
fn piped_ref<'a, F, U>(&'a self, f: F) -> U
piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read more§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
.§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more