pub struct FrameResult {
pub range: Range<usize>,
pub exclude: Option<FrameExclude>,
pub current_row_idx: usize,
}Expand description
Result of frame calculation including exclusion information
Fields§
§range: Range<usize>The frame range [start, end)
exclude: Option<FrameExclude>Exclusion mode
current_row_idx: usizeIndex of the current row being evaluated
Implementations§
Source§impl FrameResult
impl FrameResult
Sourcepub fn includes(
&self,
row_idx: usize,
partition: &Partition,
order_by: &Option<Vec<OrderByItem>>,
) -> bool
pub fn includes( &self, row_idx: usize, partition: &Partition, order_by: &Option<Vec<OrderByItem>>, ) -> bool
Check if a row index should be included in the frame calculation
Takes into account both the frame range and the EXCLUDE clause.
Sourcepub fn included_indices<'a>(
&'a self,
partition: &'a Partition,
order_by: &'a Option<Vec<OrderByItem>>,
) -> impl Iterator<Item = usize> + 'a
pub fn included_indices<'a>( &'a self, partition: &'a Partition, order_by: &'a Option<Vec<OrderByItem>>, ) -> impl Iterator<Item = usize> + 'a
Get an iterator over all included row indices
This filters out excluded rows based on the EXCLUDE clause.
Trait Implementations§
Source§impl Clone for FrameResult
impl Clone for FrameResult
Source§fn clone(&self) -> FrameResult
fn clone(&self) -> FrameResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FrameResult
impl RefUnwindSafe for FrameResult
impl Send for FrameResult
impl Sync for FrameResult
impl Unpin for FrameResult
impl UnwindSafe for FrameResult
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more