pub struct StorageFixedBytes<const N: usize> { /* private fields */ }Expand description
Accessor for a storage-backed FixedBytes.
Implementations§
Source§impl<const N: usize> StorageFixedBytes<N>
impl<const N: usize> StorageFixedBytes<N>
Sourcepub fn get(&self) -> FixedBytes<N>
pub fn get(&self) -> FixedBytes<N>
Gets the underlying FixedBytes in persistent storage.
Sourcepub fn set(&mut self, value: FixedBytes<N>)
pub fn set(&mut self, value: FixedBytes<N>)
Gets the underlying FixedBytes in persistent storage.
Trait Implementations§
Source§impl<const N: usize> Debug for StorageFixedBytes<N>
impl<const N: usize> Debug for StorageFixedBytes<N>
Source§impl<const N: usize> Erase for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
impl<const N: usize> Erase for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
Source§impl<const N: usize> From<StorageFixedBytes<N>> for FixedBytes<N>
impl<const N: usize> From<StorageFixedBytes<N>> for FixedBytes<N>
Source§fn from(value: StorageFixedBytes<N>) -> Self
fn from(value: StorageFixedBytes<N>) -> Self
Converts to this type from the input type.
Source§impl<const N: usize> HostAccess for StorageFixedBytes<N>
impl<const N: usize> HostAccess for StorageFixedBytes<N>
Source§impl<'a, const N: usize> SimpleStorageType<'a> for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
impl<'a, const N: usize> SimpleStorageType<'a> for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
Source§fn set_by_wrapped(&mut self, value: Self::Wraps<'a>)
fn set_by_wrapped(&mut self, value: Self::Wraps<'a>)
Write the value to persistent storage.
Source§impl<const N: usize> StorageType for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
impl<const N: usize> StorageType for StorageFixedBytes<N>where
ByteCount<N>: SupportedFixedBytes,
Source§const SLOT_BYTES: usize = N
const SLOT_BYTES: usize = N
The number of bytes in a slot needed to represent the type. Must not exceed 32.
For types larger than 32 bytes that are stored inline with a struct’s fields,
set this to 32 and return the full size in
StorageType::new. Read moreSource§type Wraps<'a> = FixedBytes<N>
type Wraps<'a> = FixedBytes<N>
For primitive types, this is the type being stored.
For collections, this is the
StorageType being collected.Source§type WrapsMut<'a> = StorageGuardMut<'a, StorageFixedBytes<N>>
type WrapsMut<'a> = StorageGuardMut<'a, StorageFixedBytes<N>>
Mutable accessor to the type being stored.
Source§unsafe fn new(slot: U256, offset: u8, host: VM) -> Self
unsafe fn new(slot: U256, offset: u8, host: VM) -> Self
Where in persistent storage the type should live. Although useful for framework designers
creating new storage types, most user programs shouldn’t call this.
Note: implementations will have to be
const once generic_const_exprs stabilizes. Read moreSource§fn load<'s>(self) -> Self::Wraps<'s>
fn load<'s>(self) -> Self::Wraps<'s>
Load the wrapped type, consuming the accessor.
Note: most types have a
get and/or getter, which don’t consume Self.Source§fn load_mut<'s>(self) -> Self::WrapsMut<'s>
fn load_mut<'s>(self) -> Self::WrapsMut<'s>
Load the wrapped mutable type, consuming the accessor.
Note: most types have a
set and/or setter, which don’t consume Self.Source§const REQUIRED_SLOTS: usize = 0usize
const REQUIRED_SLOTS: usize = 0usize
The number of words this type must fill. For primitives this is always 0.
For complex types requiring more than one inline word, set this to the total size.
Auto Trait Implementations§
impl<const N: usize> Freeze for StorageFixedBytes<N>
impl<const N: usize> !RefUnwindSafe for StorageFixedBytes<N>
impl<const N: usize> !Send for StorageFixedBytes<N>
impl<const N: usize> !Sync for StorageFixedBytes<N>
impl<const N: usize> Unpin for StorageFixedBytes<N>
impl<const N: usize> !UnwindSafe for StorageFixedBytes<N>
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<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>
Converts
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>
Converts
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 more