Trait content_tree::TreeIndex [−][src]
pub trait TreeIndex<E: ContentTraits> where
Self: Debug + Copy + Clone + PartialEq + Eq, {
type IndexUpdate: Debug + Default + PartialEq + Eq;
type IndexValue: Copy + Clone + Default + Debug + AddAssign + SubAssign + PartialEq + Eq + Sized;
const CAN_COUNT_ITEMS: bool;
fn increment_marker(marker: &mut Self::IndexUpdate, entry: &E);
fn decrement_marker(marker: &mut Self::IndexUpdate, entry: &E);
fn decrement_marker_by_val(
marker: &mut Self::IndexUpdate,
val: &Self::IndexValue
);
fn update_offset_by_marker(
offset: &mut Self::IndexValue,
by: &Self::IndexUpdate
);
fn increment_offset(offset: &mut Self::IndexValue, by: &E);
fn increment_offset_partial(
offset: &mut Self::IndexValue,
by: &E,
at: usize
) { ... }
fn count_items(_idx: Self::IndexValue) -> usize { ... }
}Expand description
The index describes which fields we’re tracking, and can query. Indexes let us convert cursors to positions and vice versa.