pub trait ZippedTreeGen: TreeGenwhere
Self::Global: TotalBytesGlobalData,{
type Stores;
type Text: ?Sized;
type Node<'a>: Node<'a>;
type TreeCursor<'a>: TreeCursor<'a, Self::Node<'a>> + Debug;
// Required methods
fn init_val(
&mut self,
text: &Self::Text,
node: &Self::Node<'_>
) -> Self::Acc;
fn pre(
&mut self,
text: &Self::Text,
node: &Self::Node<'_>,
stack: &Parents<Self::Acc>,
global: &mut Self::Global
) -> <Self as TreeGen>::Acc;
fn post(
&mut self,
parent: &mut <Self as TreeGen>::Acc,
global: &mut Self::Global,
text: &Self::Text,
acc: <Self as TreeGen>::Acc
) -> <<Self as TreeGen>::Acc as Accumulator>::Node;
fn stores(&mut self) -> &mut Self::Stores;
// Provided methods
fn pre_skippable(
&mut self,
text: &Self::Text,
node: &Self::Node<'_>,
stack: &Parents<Self::Acc>,
global: &mut Self::Global,
skip: &mut bool
) -> Option<<Self as TreeGen>::Acc> { ... }
fn gen(
&mut self,
text: &Self::Text,
stack: &mut Parents<Self::Acc>,
cursor: &mut Self::TreeCursor<'_>,
global: &mut Self::Global
) { ... }
}