Skip to main content

MappedFile

Struct MappedFile 

Source
pub struct MappedFile { /* private fields */ }
Expand description

Read-only memory map of a file.

Holds the File so the mapping remains valid for the lifetime of this value. The map borrows no path and therefore remains usable if the directory entry is renamed after opening.

Consumers should treat mapped files as immutable sealed artifacts. External truncation or mutation while a map is live may produce platform-dependent behavior.

Implementations§

Source§

impl MappedFile

Source

pub fn open(path: impl AsRef<Path>) -> Result<Self>

Open path read-only and map the whole file.

§Errors

Returns I/O errors from open or mmap.

§Mapping contract

Although this method is safe to call, memmap2 cannot prevent another process from truncating or rewriting the file. The caller must ensure the path follows an immutable/sealed-file convention while mapped.

Source

pub fn as_bytes(&self) -> &[u8]

Borrow the complete mapped file as bytes.

The slice remains valid for the lifetime of self.

Source

pub fn len(&self) -> usize

Return the mapped file length in bytes.

Source

pub fn is_empty(&self) -> bool

Return whether the mapped file has zero bytes.

Trait Implementations§

Source§

impl AsRef<[u8]> for MappedFile

Source§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.