# Struct os::mm::memory_set::MapArea

source · [−]

    pub struct MapArea {
        vpn_range: SimpleRange<VirtPageNum>,
        data_frames: BTreeMap<VirtPageNum, FrameTracker>,
        map_type: MapType,
        map_perm: MapPermission,
    }

## Fields

`vpn_range: SimpleRange<VirtPageNum>` `data_frames: BTreeMap<VirtPageNum, FrameTracker>` `map_type: MapType` `map_perm: MapPermission`

## Implementations

source

### impl MapArea

source

#### pub fn new(
start_va: VirtAddr,
end_va: VirtAddr,
map_type: MapType,
map_perm: MapPermission
) -> Self

source

#### pub fn from_another(another: &MapArea) -> Self

source

#### pub fn map_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum)

source

#### pub fn unmap_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum)

source

#### pub fn map(&mut self, page_table: &mut PageTable)

source

#### pub fn unmap(&mut self, page_table: &mut PageTable)

source

#### pub fn copy_data(&mut self, page_table: &mut PageTable, data: &[ u8 ])

data: start-aligned but maybe with shorter length assume that all frames were cleared before

## Auto Trait Implementations

### impl RefUnwindSafe for MapArea

### impl Send for MapArea

### impl Sync for MapArea

### impl Unpin for MapArea

### impl UnwindSafe for MapArea

## Blanket Implementations

source

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

source

#### pub fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

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

source

#### pub fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

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

source

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

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

source

#### pub fn from(t: T) -> T

Performs the conversion.

source

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

source

#### pub fn into(self) -> U

Performs the conversion.

source

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

#### type Error = Infallible

The type returned in the event of a conversion error.

source

#### pub 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>,

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

The type returned in the event of a conversion error.

source

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

Performs the conversion.