use super::super::{Dot, DotSet, DotStore};
use super::Scholia;
impl<T: Clone> DotStore for Scholia<T> {
fn dots(&self) -> impl Iterator<Item = Dot> + '_ {
self.marks.dots()
}
fn is_bottom(&self) -> bool {
self.marks.is_bottom()
}
fn causal_merge(&self, self_context: &DotSet, other: &Self, other_context: &DotSet) -> Self {
Self {
marks: self
.marks
.causal_merge(self_context, &other.marks, other_context),
}
}
fn restrict(&self, roster: impl IntoIterator<Item = u32>) -> Self {
Self {
marks: self.marks.restrict(roster),
}
}
fn novel_to(&self, context: &DotSet) -> Self {
Self {
marks: self.marks.novel_to(context),
}
}
}