pub enum CutSet<SegmentType: Segment> {
Unchanged,
WholeModified,
ModifiedLeft(RangeArea<SegmentType>),
ModifiedRight(RangeArea<SegmentType>),
ModifiedMiddle(RangeArea<SegmentType>, RangeArea<SegmentType>),
}
Expand description
当前 VmArea 和另一个给定的需要 mprotect 的区间的相交关系
Variants§
Unchanged
该区间和给定区间没有相交
WholeModified
该区间被给定区间覆盖,因此已整体修改权限
ModifiedLeft(RangeArea<SegmentType>)
左边相交,已修改左半段的权限。返回分裂出的右半边
ModifiedRight(RangeArea<SegmentType>)
右边相交,已修改右半段的权限。返回分裂出的右半边
ModifiedMiddle(RangeArea<SegmentType>, RangeArea<SegmentType>)
当前区间覆盖了给定区间,已修改中间段的权限。返回分裂出的中间和右半边
Auto Trait Implementations§
impl<SegmentType> Freeze for CutSet<SegmentType>where
SegmentType: Freeze,
impl<SegmentType> RefUnwindSafe for CutSet<SegmentType>where
SegmentType: RefUnwindSafe,
impl<SegmentType> Send for CutSet<SegmentType>where
SegmentType: Send,
impl<SegmentType> Sync for CutSet<SegmentType>where
SegmentType: Sync,
impl<SegmentType> Unpin for CutSet<SegmentType>where
SegmentType: Unpin,
impl<SegmentType> UnwindSafe for CutSet<SegmentType>where
SegmentType: 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