WIP
This commit is contained in:
parent
60abc5f090
commit
0674e76864
11 changed files with 341 additions and 111 deletions
|
@ -1,6 +1,4 @@
|
|||
use crate::{Point, ToOffset};
|
||||
|
||||
use super::{Buffer, Content};
|
||||
use super::{Buffer, Content, Point, ToOffset};
|
||||
use anyhow::Result;
|
||||
use std::{cmp::Ordering, ops::Range};
|
||||
use sum_tree::{Bias, SumTree};
|
||||
|
@ -30,6 +28,7 @@ pub struct AnchorRangeMap<T> {
|
|||
#[derive(Clone)]
|
||||
pub struct AnchorRangeSet(pub(crate) AnchorRangeMap<()>);
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct AnchorRangeMultimap<T: Clone> {
|
||||
pub(crate) entries: SumTree<AnchorRangeMultimapEntry<T>>,
|
||||
pub(crate) version: clock::Global,
|
||||
|
@ -164,6 +163,17 @@ impl AnchorRangeSet {
|
|||
}
|
||||
}
|
||||
|
||||
impl<T: Clone> Default for AnchorRangeMultimap<T> {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
entries: Default::default(),
|
||||
version: Default::default(),
|
||||
start_bias: Bias::Left,
|
||||
end_bias: Bias::Left,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Clone> AnchorRangeMultimap<T> {
|
||||
fn intersecting_point_ranges<'a, O>(
|
||||
&'a self,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue