[][src]Struct ddo::core::common::Edge

pub struct Edge {
    pub src: Arc<NodeInfo>,
    pub decision: Decision,
}

The partial assignments (derived from longest paths in the MDD) form a chained structure. This structure is made of NodeInfo inter-connected by Edges. An Edge materialises the labelled interconnection between two nodes (NodeInfos) of an MDD.

Because the chained structure is reference counted, the NodeInfo + Edge representation is very efficient as it allows to pune the tree-shaped structure and forget about paths that are no longer relevant.

Fields

src: Arc<NodeInfo>

Because an edge is owned by an endpoint (a NodeInfo), it only knows a pointer to its 'parent' node (src is that pointer to parent). The src pointer is a smart, reference counted pointer that may be used in multi-threaded contexts (uses atomic counters).

decision: Decision

decision is the field which materializes the decision taken in the parent node, which yielded the current node.

In other words, taking decision in the node owner of src should bring you to the node owning this edge.

Trait Implementations

impl Clone for Edge[src]

impl Debug for Edge[src]

impl Eq for Edge[src]

impl PartialEq<Edge> for Edge[src]

impl StructuralEq for Edge[src]

impl StructuralPartialEq for Edge[src]

Auto Trait Implementations

impl RefUnwindSafe for Edge

impl Send for Edge

impl Sync for Edge

impl Unpin for Edge

impl UnwindSafe for Edge

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.