[−][src]Struct ddo::core::common::Edge
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,