Struct branchy::ExpanderBuilder [−][src]
pub struct ExpanderBuilder<Nt, T, RS, EL> where
RS: RuleSelector<Nt, T>,
EL: ExpansionLogger<Nt, T>, { /* fields omitted */ }
Expand description
Allows configuring and constructing an instance of Expander
.
Implementations
impl<Nt, T> ExpanderBuilder<Nt, T, UniformRandomRuleSelector, NullExpansionLogger> where
Nt: NonterminalValue,
T: TerminalValue,
[src]
impl<Nt, T> ExpanderBuilder<Nt, T, UniformRandomRuleSelector, NullExpansionLogger> where
Nt: NonterminalValue,
T: TerminalValue,
[src]impl<Nt, T, RS, EL> ExpanderBuilder<Nt, T, RS, EL> where
Nt: NonterminalValue,
T: TerminalValue,
RS: RuleSelector<Nt, T>,
EL: ExpansionLogger<Nt, T>,
[src]
impl<Nt, T, RS, EL> ExpanderBuilder<Nt, T, RS, EL> where
Nt: NonterminalValue,
T: TerminalValue,
RS: RuleSelector<Nt, T>,
EL: ExpansionLogger<Nt, T>,
[src]pub fn build(self) -> Expander<Nt, T, RS, EL>
[src]
pub fn with_new_rule<Ss>(self, pattern: Nt, replacement: Ss) -> Self where
Ss: IntoIterator<Item = Symbol<Nt, T>>,
[src]
Ss: IntoIterator<Item = Symbol<Nt, T>>,
pub fn with_rule(self, rule: Rule<Nt, T>) -> Self
[src]
pub fn with_rules<Rs>(self, rules: Rs) -> Self where
Rs: IntoIterator<Item = Rule<Nt, T>>,
[src]
Rs: IntoIterator<Item = Rule<Nt, T>>,
pub fn with_rule_selector<NewRS>(
self,
rule_selector: NewRS
) -> ExpanderBuilder<Nt, T, NewRS, EL> where
NewRS: RuleSelector<Nt, T>,
[src]
self,
rule_selector: NewRS
) -> ExpanderBuilder<Nt, T, NewRS, EL> where
NewRS: RuleSelector<Nt, T>,
pub fn with_logger<NewEL>(
self,
logger: NewEL
) -> ExpanderBuilder<Nt, T, RS, NewEL> where
NewEL: ExpansionLogger<Nt, T>,
[src]
self,
logger: NewEL
) -> ExpanderBuilder<Nt, T, RS, NewEL> where
NewEL: ExpansionLogger<Nt, T>,
pub fn with_max_iterations(self, max_iterations: usize) -> Self
[src]
Trait Implementations
impl<Nt, T> Default for ExpanderBuilder<Nt, T, UniformRandomRuleSelector, NullExpansionLogger> where
Nt: NonterminalValue,
T: TerminalValue,
[src]
impl<Nt, T> Default for ExpanderBuilder<Nt, T, UniformRandomRuleSelector, NullExpansionLogger> where
Nt: NonterminalValue,
T: TerminalValue,
[src]Auto Trait Implementations
impl<Nt, T, RS, EL> RefUnwindSafe for ExpanderBuilder<Nt, T, RS, EL> where
EL: RefUnwindSafe,
Nt: RefUnwindSafe,
RS: RefUnwindSafe,
T: RefUnwindSafe,
EL: RefUnwindSafe,
Nt: RefUnwindSafe,
RS: RefUnwindSafe,
T: RefUnwindSafe,
impl<Nt, T, RS, EL> Send for ExpanderBuilder<Nt, T, RS, EL> where
EL: Send,
Nt: Send,
RS: Send,
T: Send,
EL: Send,
Nt: Send,
RS: Send,
T: Send,
impl<Nt, T, RS, EL> Sync for ExpanderBuilder<Nt, T, RS, EL> where
EL: Sync,
Nt: Sync,
RS: Sync,
T: Sync,
EL: Sync,
Nt: Sync,
RS: Sync,
T: Sync,
impl<Nt, T, RS, EL> Unpin for ExpanderBuilder<Nt, T, RS, EL> where
EL: Unpin,
Nt: Unpin,
RS: Unpin,
T: Unpin,
EL: Unpin,
Nt: Unpin,
RS: Unpin,
T: Unpin,
impl<Nt, T, RS, EL> UnwindSafe for ExpanderBuilder<Nt, T, RS, EL> where
EL: UnwindSafe,
Nt: UnwindSafe,
RS: UnwindSafe,
T: UnwindSafe,
EL: UnwindSafe,
Nt: UnwindSafe,
RS: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,