Struct boolean_expression::BDDLoader
[−]
[src]
pub struct BDDLoader<'a, T> where
T: Clone + Debug + Eq + Ord + Hash + 'a, { /* fields omitted */ }
A BDDLoader
provides a way to inject BDD nodes directly, as they were
previously dumped by a PersistedBDD
to a BDDOutput
. The user should
create a BDDLoader
instance wrapped around a BDD
and call
inject_label
and inject_node
as appropriate to inject labels and nodes.
Methods
impl<'a, T> BDDLoader<'a, T> where
T: Clone + Debug + Eq + Ord + Hash + 'a,
[src]
T: Clone + Debug + Eq + Ord + Hash + 'a,
pub fn new(bdd: &'a mut BDD<T>) -> BDDLoader<'a, T>
[src]
Create a new BDDLoader
wrapping the given bdd
. The BDDLoader
holds a mutable reference to bdd
until destroyed. bdd
must be empty
initially.
pub fn inject_label(&mut self, t: T, id: u64)
[src]
Inject a new label into the BDD. The id
must be the next consecutive
id
; i.e., labels must be injected in the order they were dumped to a
BDDOutput
.
pub fn inject_node(
&mut self,
id: BDDFunc,
label_id: u64,
lo: BDDFunc,
hi: BDDFunc
)
[src]
&mut self,
id: BDDFunc,
label_id: u64,
lo: BDDFunc,
hi: BDDFunc
)
Inject a new node into the BDD. The id
must be the next consecutive
id
; i.e., nodes must be injected in the order they were dumped to a
BDDOutput
.