#[repr(C)]pub struct PageNumRange<T>where
T: PageNum,{
pub start: T,
pub end: T,
}Expand description
§PageNumRange
泛型页码范围结构,表示一个半开半闭的区间 [start, end)。
Fields§
§start: T范围的起始页码 (包含)。
end: T范围的结束页码 (不包含)。
Implementations§
Source§impl<T> PageNumRange<T>where
T: PageNum,
impl<T> PageNumRange<T>where
T: PageNum,
Sourcepub fn from_range(range: Range<T>) -> Self
pub fn from_range(range: Range<T>) -> Self
从 Rust 标准库的 Range<T> 创建一个页码范围。
Sourcepub fn from_start_len(start: T, len: usize) -> Self
pub fn from_start_len(start: T, len: usize) -> Self
从起始页码和长度 (页数) 创建一个页码范围。
Sourcepub fn contains_range(&self, other: &Self) -> bool
pub fn contains_range(&self, other: &Self) -> bool
检查范围是否包含另一个范围。
Sourcepub fn contains_in(&self, other: &Self) -> bool
pub fn contains_in(&self, other: &Self) -> bool
检查此范围是否包含在另一个范围中。
Sourcepub fn overlaps(&self, other: &Self) -> bool
pub fn overlaps(&self, other: &Self) -> bool
检查两个范围是否重叠。
注意: PageNumRange 是 [start, end),相邻的范围不视为重叠。
Sourcepub fn iter(&self) -> PageNumRangeIterator<T> ⓘ
pub fn iter(&self) -> PageNumRangeIterator<T> ⓘ
获取范围的迭代器。
Trait Implementations§
Source§impl<T> Clone for PageNumRange<T>where
T: PageNum + Clone,
impl<T> Clone for PageNumRange<T>where
T: PageNum + Clone,
Source§fn clone(&self) -> PageNumRange<T>
fn clone(&self) -> PageNumRange<T>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T> Debug for PageNumRange<T>where
T: PageNum + Debug,
impl<T> Debug for PageNumRange<T>where
T: PageNum + Debug,
Source§impl<T> IntoIterator for PageNumRange<T>where
T: PageNum,
impl<T> IntoIterator for PageNumRange<T>where
T: PageNum,
Source§impl<T> PartialEq for PageNumRange<T>where
T: PageNum + PartialEq,
impl<T> PartialEq for PageNumRange<T>where
T: PageNum + PartialEq,
impl<T> Copy for PageNumRange<T>where
T: PageNum + Copy,
impl<T> Eq for PageNumRange<T>where
T: PageNum + Eq,
impl<T> StructuralPartialEq for PageNumRange<T>where
T: PageNum,
Auto Trait Implementations§
impl<T> Freeze for PageNumRange<T>where
T: Freeze,
impl<T> RefUnwindSafe for PageNumRange<T>where
T: RefUnwindSafe,
impl<T> Send for PageNumRange<T>where
T: Send,
impl<T> Sync for PageNumRange<T>where
T: Sync,
impl<T> Unpin for PageNumRange<T>where
T: Unpin,
impl<T> UnwindSafe for PageNumRange<T>where
T: UnwindSafe,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.