pub struct ShadowStorageBuilder<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> { /* private fields */ }Implementations§
Source§impl ShadowStorageBuilder<0, 0, 0, (), (), (), (), NeedTotalSize>
impl ShadowStorageBuilder<0, 0, 0, (), (), (), (), NeedTotalSize>
Source§impl ShadowStorageBuilder<0, 0, 0, (), (), (), (), NeedTotalSize>
impl ShadowStorageBuilder<0, 0, 0, (), (), (), (), NeedTotalSize>
pub fn total_size<const TS: usize>( self, ) -> ShadowStorageBuilder<TS, 0, 0, (), (), (), (), NeedBlockSize>
Source§impl<const TS: usize> ShadowStorageBuilder<TS, 0, 0, (), (), (), (), NeedBlockSize>
impl<const TS: usize> ShadowStorageBuilder<TS, 0, 0, (), (), (), (), NeedBlockSize>
pub fn block_size<const BS: usize>( self, ) -> ShadowStorageBuilder<TS, BS, 0, (), (), (), (), NeedBlockCount>
Source§impl<const TS: usize, const BS: usize> ShadowStorageBuilder<TS, BS, 0, (), (), (), (), NeedBlockCount>
impl<const TS: usize, const BS: usize> ShadowStorageBuilder<TS, BS, 0, (), (), (), (), NeedBlockCount>
Sourcepub fn block_count<const BC: usize>(
self,
) -> ShadowStorageBuilder<TS, BS, BC, (), (), (), (), NeedAccessPolicy>
pub fn block_count<const BC: usize>( self, ) -> ShadowStorageBuilder<TS, BS, BC, (), (), (), (), NeedAccessPolicy>
Set the number of blocks.
§Panics
Panics at runtime if TS != BS * BC. For a 1024-byte storage with 64-byte blocks, use BC = 16.
Source§impl<const TS: usize, const BS: usize, const BC: usize> ShadowStorageBuilder<TS, BS, BC, (), (), (), (), NeedAccessPolicy>
impl<const TS: usize, const BS: usize, const BC: usize> ShadowStorageBuilder<TS, BS, BC, (), (), (), (), NeedAccessPolicy>
pub fn access_policy<AP: AccessPolicy>( self, policy: AP, ) -> ShadowStorageBuilder<TS, BS, BC, AP, (), (), (), NeedPersistPolicy>
Sourcepub fn default_access(
self,
) -> ShadowStorageBuilder<TS, BS, BC, AllowAllPolicy, (), (), (), NeedPersistPolicy>
pub fn default_access( self, ) -> ShadowStorageBuilder<TS, BS, BC, AllowAllPolicy, (), (), (), NeedPersistPolicy>
Use the default allow-all access policy
Source§impl<const TS: usize, const BS: usize, const BC: usize, AP> ShadowStorageBuilder<TS, BS, BC, AP, (), (), (), NeedPersistPolicy>where
AP: AccessPolicy,
impl<const TS: usize, const BS: usize, const BC: usize, AP> ShadowStorageBuilder<TS, BS, BC, AP, (), (), (), NeedPersistPolicy>where
AP: AccessPolicy,
Sourcepub fn persist_policy<PP, PK>(
self,
policy: PP,
) -> ShadowStorageBuilder<TS, BS, BC, AP, PP, (), PK, NeedPersistTrigger>where
PP: PersistPolicy<PK>,
pub fn persist_policy<PP, PK>(
self,
policy: PP,
) -> ShadowStorageBuilder<TS, BS, BC, AP, PP, (), PK, NeedPersistTrigger>where
PP: PersistPolicy<PK>,
Set a custom persist policy with a specific key type
Sourcepub fn no_persist(
self,
) -> ShadowStorageBuilder<TS, BS, BC, AP, NoPersistPolicy, NoPersist, (), Ready>
pub fn no_persist( self, ) -> ShadowStorageBuilder<TS, BS, BC, AP, NoPersistPolicy, NoPersist, (), Ready>
Use no persistence (no persist policy or trigger)
Source§impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PK> ShadowStorageBuilder<TS, BS, BC, AP, PP, (), PK, NeedPersistTrigger>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PK> ShadowStorageBuilder<TS, BS, BC, AP, PP, (), PK, NeedPersistTrigger>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
Sourcepub fn persist_trigger<PT>(
self,
trigger: PT,
) -> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, Ready>where
PT: PersistTrigger<PK>,
pub fn persist_trigger<PT>(
self,
trigger: PT,
) -> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, Ready>where
PT: PersistTrigger<PK>,
Set the persist trigger that handles the persistence keys
Source§impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, Ready>
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, Ready>
Sourcepub fn build(self) -> ShadowStorage<TS, BS, BC, AP, PP, PT, PK>
pub fn build(self) -> ShadowStorage<TS, BS, BC, AP, PP, PT, PK>
Build the final ShadowStorage instance
§Panics
Panics if TS != BS * BC (validated in ShadowTable::new)
Trait Implementations§
Source§impl<const TS: usize, const BS: usize, const BC: usize, AP: Default, PP: Default, PT: Default, PK: Default, State: Default> Default for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
impl<const TS: usize, const BS: usize, const BC: usize, AP: Default, PP: Default, PT: Default, PK: Default, State: Default> Default for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
Source§fn default() -> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
fn default() -> ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> Freeze for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> RefUnwindSafe for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>where
AP: RefUnwindSafe,
PP: RefUnwindSafe,
PT: RefUnwindSafe,
PK: RefUnwindSafe,
State: RefUnwindSafe,
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> Send for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> Sync for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> Unpin for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
impl<const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, State> UnwindSafe for ShadowStorageBuilder<TS, BS, BC, AP, PP, PT, PK, State>
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