#[repr(C)]pub struct Page<A, S: Size> { /* private fields */ }
Expand description
A memory page.
Implementations§
source§impl<A: Address, S: StaticSize> Page<A, S>
impl<A: Address, S: StaticSize> Page<A, S>
sourcepub fn starting_at_fixed(addr: impl Into<A>) -> Result<Self, NotAligned<S>>
pub fn starting_at_fixed(addr: impl Into<A>) -> Result<Self, NotAligned<S>>
Returns a page starting at the given address.
sourcepub fn containing_fixed(addr: impl Into<A>) -> Self
pub fn containing_fixed(addr: impl Into<A>) -> Self
Returns the page that contains the given address.
source§impl<A: Address, S: Size> Page<A, S>
impl<A: Address, S: Size> Page<A, S>
sourcepub fn starting_at(addr: impl Into<A>, size: S) -> Result<Self, NotAligned<S>>
pub fn starting_at(addr: impl Into<A>, size: S) -> Result<Self, NotAligned<S>>
Returns a page starting at the given address.
sourcepub fn containing(addr: impl Into<A>, size: S) -> Self
pub fn containing(addr: impl Into<A>, size: S) -> Self
Returns the page that contains the given address.
pub fn base_addr(&self) -> A
sourcepub fn end_addr(&self) -> A
pub fn end_addr(&self) -> A
Returns the last address in the page, exclusive.
The returned address will be the base address of the next page.
pub fn size(&self) -> S
pub fn contains(&self, addr: impl Into<A>) -> bool
pub fn range_inclusive(self, end: Page<A, S>) -> PageRange<A, S> ⓘ
pub fn range_to(self, end: Page<A, S>) -> PageRange<A, S> ⓘ
sourcepub unsafe fn as_slice(&self) -> &[u8] ⓘ
pub unsafe fn as_slice(&self) -> &[u8] ⓘ
Returns the entire contents of the page as a slice.
Safety
When calling this method, ensure that the page will not be mutated concurrently, including by user code.
sourcepub unsafe fn as_slice_mut(&mut self) -> &mut [u8] ⓘ
pub unsafe fn as_slice_mut(&mut self) -> &mut [u8] ⓘ
Returns the entire contents of the page as a mutable slice.
Safety
When calling this method, ensure that the page will not be read or mutated concurrently, including by user code.
Trait Implementations§
source§impl<A: Address, S: StaticSize> Ord for Page<A, S>
impl<A: Address, S: StaticSize> Ord for Page<A, S>
source§impl<A: PartialEq, S: PartialEq + Size> PartialEq for Page<A, S>
impl<A: PartialEq, S: PartialEq + Size> PartialEq for Page<A, S>
source§impl<A: Address, S: Size> PartialOrd for Page<A, S>
impl<A: Address, S: Size> PartialOrd for Page<A, S>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<A: Copy, S: Copy + Size> Copy for Page<A, S>
impl<A: Eq, S: Eq + Size> Eq for Page<A, S>
impl<A, S: Size> StructuralEq for Page<A, S>
impl<A, S: Size> StructuralPartialEq for Page<A, S>
Auto Trait Implementations§
impl<A, S> RefUnwindSafe for Page<A, S>where
A: RefUnwindSafe,
S: RefUnwindSafe,
impl<A, S> Send for Page<A, S>
impl<A, S> Sync for Page<A, S>
impl<A, S> Unpin for Page<A, S>
impl<A, S> UnwindSafe for Page<A, S>where
A: UnwindSafe,
S: UnwindSafe,
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.