[][src]Struct pattern_compiler::PatternCfg

pub struct PatternCfg<P> where
    P: PatternProvider
{ pub entry: NodeIndex, pub graph: Graph<CfgNodeKind<P::CfgVariable>, CfgEdge<P>>, pub leaves: HashMap<usize, NodeIndex>, pub leaf_bindings: HashMap<NodeIndex, HashMap<P::CfgVariable, P::PatternNodeKey>>, }

Fields

entry: NodeIndexgraph: Graph<CfgNodeKind<P::CfgVariable>, CfgEdge<P>>leaves: HashMap<usize, NodeIndex>leaf_bindings: HashMap<NodeIndex, HashMap<P::CfgVariable, P::PatternNodeKey>>

Methods

impl<P> PatternCfg<P> where
    P: PatternProvider
[src]

pub fn to_dot(&self, w: &mut dyn Write) -> Result<()>[src]

impl<P> PatternCfg<P> where
    P: PatternProvider
[src]

pub fn new() -> Self[src]

pub fn add_fail(&mut self) -> NodeIndex[src]

pub fn add_leaf(&mut self, num: usize) -> NodeIndex[src]

pub fn get_entry(&self) -> NodeIndex[src]

pub fn add_node(&mut self, var: P::CfgVariable) -> NodeIndex[src]

pub fn add_edge(
    &mut self,
    parent: NodeIndex,
    child: NodeIndex,
    edge: CfgEdge<P>
)
[src]

pub fn add_child(
    &mut self,
    parent: NodeIndex,
    typ: CfgEdge<P>,
    var: P::CfgVariable
) -> NodeIndex
[src]

Trait Implementations

impl<P: Clone> Clone for PatternCfg<P> where
    P: PatternProvider,
    P::CfgVariable: Clone,
    P::CfgVariable: Clone,
    P::PatternNodeKey: Clone
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<P: Debug> Debug for PatternCfg<P> where
    P: PatternProvider,
    P::CfgVariable: Debug,
    P::CfgVariable: Debug,
    P::PatternNodeKey: Debug
[src]

Auto Trait Implementations

impl<P> Send for PatternCfg<P> where
    <P as PatternProvider>::CfgVariable: Send,
    <P as PatternProvider>::PatternNodeKey: Send,
    <P as PatternProvider>::PatternNodeKind: Send

impl<P> Sync for PatternCfg<P> where
    <P as PatternProvider>::CfgVariable: Sync,
    <P as PatternProvider>::PatternNodeKey: Sync,
    <P as PatternProvider>::PatternNodeKind: Sync

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.