pub struct Grouper<R: ParentResolver> { /* private fields */ }Expand description
Owning state for the algorithm. One instance per open view.
Implementations§
Source§impl<R: ParentResolver> Grouper<R>
impl<R: ParentResolver> Grouper<R>
Sourcepub fn on_insert(&mut self, event: &KernelEvent) -> Option<GroupDelta>
pub fn on_insert(&mut self, event: &KernelEvent) -> Option<GroupDelta>
Process an inserted event. Returns the strongest single delta (wrappers re-snapshot anyway).
Sourcepub fn on_remove(&mut self, id: &EventId) -> Option<GroupDelta>
pub fn on_remove(&mut self, id: &EventId) -> Option<GroupDelta>
Process a removed event. Returns at most one delta.
Sourcepub fn on_replace(
&mut self,
old_id: &EventId,
new_event: &KernelEvent,
) -> Option<GroupDelta>
pub fn on_replace( &mut self, old_id: &EventId, new_event: &KernelEvent, ) -> Option<GroupDelta>
Process a replaced event. Modelled as remove + insert; wrappers see a single delta — the inserted one.
Source§impl<R: ParentResolver> Grouper<R>
impl<R: ParentResolver> Grouper<R>
pub fn new(resolver: R, policy: ModulePolicy) -> Self
pub fn blocks(&self) -> &[TimelineBlock]
pub fn pending_ancestor_ids(&self) -> &BTreeSet<EventId>
pub fn event(&self, id: &EventId) -> Option<&KernelEvent>
Auto Trait Implementations§
impl<R> Freeze for Grouper<R>where
R: Freeze,
impl<R> RefUnwindSafe for Grouper<R>where
R: RefUnwindSafe,
impl<R> Send for Grouper<R>
impl<R> Sync for Grouper<R>
impl<R> Unpin for Grouper<R>where
R: Unpin,
impl<R> UnsafeUnpin for Grouper<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for Grouper<R>where
R: 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