#[repr(C)]pub struct Page<A, S>where
S: Size,{ /* private fields */ }
Expand description
A memory page.
Implementations§
Source§impl<A, S> Page<A, S>where
A: Address,
S: StaticSize,
impl<A, S> Page<A, S>where
A: Address,
S: StaticSize,
Sourcepub fn starting_at_fixed(
addr: impl Into<A>,
) -> Result<Page<A, S>, NotAligned<S>>
pub fn starting_at_fixed( addr: impl Into<A>, ) -> Result<Page<A, S>, NotAligned<S>>
Returns a page starting at the given address.
Sourcepub fn containing_fixed(addr: impl Into<A>) -> Page<A, S>
pub fn containing_fixed(addr: impl Into<A>) -> Page<A, S>
Returns the page that contains the given address.
Source§impl<A, S> Page<A, S>
impl<A, S> Page<A, S>
Sourcepub fn starting_at(
addr: impl Into<A>,
size: S,
) -> Result<Page<A, S>, NotAligned<S>>
pub fn starting_at( addr: impl Into<A>, size: S, ) -> Result<Page<A, S>, NotAligned<S>>
Returns a page starting at the given address.
Sourcepub fn containing(addr: impl Into<A>, size: S) -> Page<A, S>
pub fn containing(addr: impl Into<A>, size: S) -> Page<A, S>
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, S> Ord for Page<A, S>where
A: Address,
S: StaticSize,
impl<A, S> Ord for Page<A, S>where
A: Address,
S: StaticSize,
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<A, S> PartialOrd for Page<A, S>
impl<A, S> PartialOrd for Page<A, S>
impl<A, S> Copy for Page<A, S>
impl<A, S> Eq for Page<A, S>
impl<A, S> StructuralPartialEq for Page<A, S>where
S: Size,
Auto Trait Implementations§
impl<A, S> Freeze for Page<A, S>
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.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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.