pub struct Mmap { /* private fields */ }
Expand description
A simple struct consisting of a page-aligned pointer to page-aligned and initially-zeroed memory and a length.
Implementations§
Source§impl Mmap
impl Mmap
Sourcepub fn with_at_least(size: usize) -> Result<Self, String>
pub fn with_at_least(size: usize) -> Result<Self, String>
Create a new Mmap
pointing to at least size
bytes of page-aligned accessible memory.
Sourcepub fn accessible_reserved(
accessible_size: usize,
mapping_size: usize,
backing_file: Option<PathBuf>,
memory_type: MmapType,
) -> Result<Self, String>
Available on non-Windows only.
pub fn accessible_reserved( accessible_size: usize, mapping_size: usize, backing_file: Option<PathBuf>, memory_type: MmapType, ) -> Result<Self, String>
Create a new Mmap
pointing to accessible_size
bytes of page-aligned accessible memory,
within a reserved mapping of mapping_size
bytes. accessible_size
and mapping_size
must be native page-size multiples.
Sourcepub fn make_accessible(
&mut self,
start: usize,
len: usize,
) -> Result<(), String>
Available on non-Windows only.
pub fn make_accessible( &mut self, start: usize, len: usize, ) -> Result<(), String>
Make the memory starting at start
and extending for len
bytes accessible.
start
and len
must be native page-size multiples and describe a range within
self
’s reserved memory.
Sourcepub fn as_slice_accessible(&self) -> &[u8] ⓘ
pub fn as_slice_accessible(&self) -> &[u8] ⓘ
Return the allocated memory as a slice of u8.
Sourcepub fn as_slice_arbitary(&self, size: usize) -> &[u8] ⓘ
pub fn as_slice_arbitary(&self, size: usize) -> &[u8] ⓘ
Return the allocated memory as a slice of u8.
Sourcepub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
Sourcepub fn as_mut_slice_accessible(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice_accessible(&mut self) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
Sourcepub fn as_mut_slice_arbitary(&mut self, size: usize) -> &mut [u8] ⓘ
pub fn as_mut_slice_arbitary(&mut self, size: usize) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
Sourcepub fn as_mut_ptr(&mut self) -> *mut u8
pub fn as_mut_ptr(&mut self) -> *mut u8
Return the allocated memory as a mutable pointer to u8.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Mmap
impl RefUnwindSafe for Mmap
impl Send for Mmap
impl Sync for Mmap
impl Unpin for Mmap
impl UnwindSafe for Mmap
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.