mod seq;
pub use seq::*;
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
pub enum EventNoPred {
Init {
root: usize,
},
Previsit {
node: usize,
root: usize,
depth: usize,
},
Revisit {
node: usize,
root: usize,
depth: usize,
},
Done {
root: usize,
},
}
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
pub struct FilterArgsNoPred {
pub node: usize,
pub root: usize,
pub depth: usize,
}
impl super::Event for EventNoPred {
type FilterArgs = FilterArgsNoPred;
}
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
pub enum EventPred {
Init {
root: usize,
},
Previsit {
node: usize,
parent: usize,
root: usize,
depth: usize,
},
Revisit {
node: usize,
pred: usize,
root: usize,
depth: usize,
on_stack: bool,
},
Postvisit {
node: usize,
parent: usize,
root: usize,
depth: usize,
},
Done {
root: usize,
},
}
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
pub struct FilterArgsPred {
pub node: usize,
pub pred: usize,
pub root: usize,
pub depth: usize,
}
impl super::Event for EventPred {
type FilterArgs = FilterArgsPred;
}