pub struct PagesAmount<const SIZE: u32>(/* private fields */);
Expand description
Struct represents memory pages amount with some constant size SIZE
in bytes.
SIZE
type is u32, so page size < 4GiB (wasm32 memory size limit).SIZE
must be power of two and must not be equal to one or zero bytes.
Implementations§
Source§impl<const SIZE: u32> PagesAmount<SIZE>
impl<const SIZE: u32> PagesAmount<SIZE>
Sourcepub const SIZE: u32 = SIZE
pub const SIZE: u32 = SIZE
Page size. May be any number power of two in interval [2, u32::MAX].
NOTE: In case SIZE == 0 or 1 or any not power of two number, then you would receive compilation error.
Sourcepub const UPPER: Self = _
pub const UPPER: Self = _
Number of max pages amount. Equal to max page number + 1.
NOTE: const computation contains checking in order to prevent incorrect SIZE.
Sourcepub fn to_page_number(&self) -> Option<Page<SIZE>>
pub fn to_page_number(&self) -> Option<Page<SIZE>>
Get page number, which bounds this pages amount. If pages amount == 4GB size, then returns None, because such page number does not exist.
Sourcepub fn to_pages_amount<const S: u32>(&self) -> PagesAmount<S>
pub fn to_pages_amount<const S: u32>(&self) -> PagesAmount<S>
Returns corresponding amount of pages with another size S
.
Trait Implementations§
Source§impl<const SIZE: u32> Clone for PagesAmount<SIZE>
impl<const SIZE: u32> Clone for PagesAmount<SIZE>
Source§fn clone(&self) -> PagesAmount<SIZE>
fn clone(&self) -> PagesAmount<SIZE>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<const SIZE: u32> Debug for PagesAmount<SIZE>
impl<const SIZE: u32> Debug for PagesAmount<SIZE>
Source§impl<const SIZE: u32> Decode for PagesAmount<SIZE>
impl<const SIZE: u32> Decode for PagesAmount<SIZE>
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
Source§impl<const SIZE: u32> Default for PagesAmount<SIZE>
impl<const SIZE: u32> Default for PagesAmount<SIZE>
Source§fn default() -> PagesAmount<SIZE>
fn default() -> PagesAmount<SIZE>
Returns the “default value” for a type. Read more
Source§impl<const SIZE: u32> Encode for PagesAmount<SIZE>
impl<const SIZE: u32> Encode for PagesAmount<SIZE>
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
Source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>(
&self,
f: __CodecUsingEncodedCallback,
) -> __CodecOutputReturn
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
Convert self to a slice and then invoke the given closure with it.
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Source§impl<const SIZE: u32> From<PagesAmount<SIZE>> for u32
impl<const SIZE: u32> From<PagesAmount<SIZE>> for u32
Source§fn from(original: PagesAmount<SIZE>) -> Self
fn from(original: PagesAmount<SIZE>) -> Self
Converts to this type from the input type.
Source§impl<const SIZE: u32> Ord for PagesAmount<SIZE>
impl<const SIZE: u32> Ord for PagesAmount<SIZE>
Source§fn cmp(&self, other: &PagesAmount<SIZE>) -> Ordering
fn cmp(&self, other: &PagesAmount<SIZE>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<const SIZE: u32> PartialEq for PagesAmount<SIZE>
impl<const SIZE: u32> PartialEq for PagesAmount<SIZE>
Source§impl<const SIZE: u32> PartialOrd<Page<SIZE>> for PagesAmount<SIZE>
impl<const SIZE: u32> PartialOrd<Page<SIZE>> for PagesAmount<SIZE>
Source§impl<const SIZE: u32> PartialOrd<PagesAmount<SIZE>> for Page<SIZE>
impl<const SIZE: u32> PartialOrd<PagesAmount<SIZE>> for Page<SIZE>
Source§impl<const SIZE: u32> PartialOrd for PagesAmount<SIZE>
impl<const SIZE: u32> PartialOrd for PagesAmount<SIZE>
Source§impl<const SIZE: u32> TypeInfo for PagesAmount<SIZE>
impl<const SIZE: u32> TypeInfo for PagesAmount<SIZE>
impl<const SIZE: u32> Copy for PagesAmount<SIZE>
impl<const SIZE: u32> EncodeLike for PagesAmount<SIZE>
impl<const SIZE: u32> Eq for PagesAmount<SIZE>
impl<const SIZE: u32> StructuralPartialEq for PagesAmount<SIZE>
Auto Trait Implementations§
impl<const SIZE: u32> Freeze for PagesAmount<SIZE>
impl<const SIZE: u32> RefUnwindSafe for PagesAmount<SIZE>
impl<const SIZE: u32> Send for PagesAmount<SIZE>
impl<const SIZE: u32> Sync for PagesAmount<SIZE>
impl<const SIZE: u32> Unpin for PagesAmount<SIZE>
impl<const SIZE: u32> UnwindSafe for PagesAmount<SIZE>
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