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
    ) { ... }
}

Required Associated Types§

source

type Stores

source

type Text: ?Sized

source

type Node<'a>: Node<'a>

source

type TreeCursor<'a>: TreeCursor<'a, Self::Node<'a>> + Debug

Required Methods§

source

fn init_val(&mut self, text: &Self::Text, node: &Self::Node<'_>) -> Self::Acc

source

fn pre( &mut self, text: &Self::Text, node: &Self::Node<'_>, stack: &Parents<Self::Acc>, global: &mut Self::Global ) -> <Self as TreeGen>::Acc

source

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

source

fn stores(&mut self) -> &mut Self::Stores

Provided Methods§

source

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>

source

fn gen( &mut self, text: &Self::Text, stack: &mut Parents<Self::Acc>, cursor: &mut Self::TreeCursor<'_>, global: &mut Self::Global )

Implementors§