[][src]Struct fst::raw::MmapReadOnly

pub struct MmapReadOnly { /* fields omitted */ }

A read only view into a memory map.

Opening a memory map is unsafe because we cannot guarantee that its underlying memory is not mutated by external processes. This read only memory map guarantees that consumers can at least never modify the underlying data.

It is principally useful for controlling which region of a file an Fst reads.

Methods

impl MmapReadOnly[src]

pub unsafe fn open(file: &File) -> Result<MmapReadOnly>[src]

Create a new memory map from an existing file handle.

This is unsafe because Rust programs cannot guarantee that memory backed by a memory mapped file won't be mutably aliased. It is up to the caller to enforce that the memory map is not modified while it is opened.

pub unsafe fn open_path<P: AsRef<Path>>(path: P) -> Result<MmapReadOnly>[src]

Open a new memory map from the path given.

This is unsafe because Rust programs cannot guarantee that memory backed by a memory mapped file won't be mutably aliased. It is up to the caller to enforce that the memory map is not modified while it is opened.

pub fn len(&self) -> usize[src]

Returns the size in byte of the memory map.

If it is a range, the size is the size of the range.

pub fn range(&self, offset: usize, len: usize) -> MmapReadOnly[src]

Slice this memory map to a new offset and len.

If the new range is outside the bounds of self, then this method panics.

pub fn as_slice(&self) -> &[u8][src]

Read the memory map as a &[u8].

Trait Implementations

impl Clone for MmapReadOnly[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]