pub struct HostShadow<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS>{ /* private fields */ }Implementations§
Source§impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, NoStage>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, NoStage>
pub fn with_view<R>( &self, f: impl FnOnce(&mut HostView<'_, TS, BS, BC, AP, PP, PT, PK>) -> R, ) -> R
Sourcepub unsafe fn with_view_unchecked<R>(
&self,
f: impl FnOnce(&mut HostView<'_, TS, BS, BC, AP, PP, PT, PK>) -> R,
) -> R
pub unsafe fn with_view_unchecked<R>( &self, f: impl FnOnce(&mut HostView<'_, TS, BS, BC, AP, PP, PT, PK>) -> R, ) -> R
§Safety
This function is unsafe because it requires exclusive access to the shadow’s storage. However, if you can guarantee that the shadow’s storage is not being accessed by any other domains such as ISR or other threads you can safely call this function.
Source§impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, WithStage<SB>>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
PT: PersistTrigger<PK>,
BitsImpl<BC>: Bits,
SB: StagingBuffer,
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, WithStage<SB>>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
PT: PersistTrigger<PK>,
BitsImpl<BC>: Bits,
SB: StagingBuffer,
pub fn with_view<R>( &self, f: impl FnOnce(&mut HostViewStaged<'_, TS, BS, BC, AP, PP, PT, PK, SB>) -> R, ) -> R
Sourcepub unsafe fn with_view_unchecked<R>(
&self,
f: impl FnOnce(&mut HostViewStaged<'_, TS, BS, BC, AP, PP, PT, PK, SB>) -> R,
) -> R
pub unsafe fn with_view_unchecked<R>( &self, f: impl FnOnce(&mut HostViewStaged<'_, TS, BS, BC, AP, PP, PT, PK, SB>) -> R, ) -> R
§Safety
This function is unsafe because it requires exclusive access to the shadow’s storage. However, if you can guarantee that the shadow’s storage is not being accessed by any other domains such as ISR or other threads you can safely call this function.
Auto Trait Implementations§
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> Freeze for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !RefUnwindSafe for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !Send for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !Sync for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> Unpin for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SS> !UnwindSafe for HostShadow<'a, TS, BS, BC, AP, PP, PT, PK, SS>
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