pub struct DecompositionNode {
pub id: usize,
pub level: usize,
pub vertices: HashSet<VertexId>,
pub parent: Option<usize>,
pub children: Vec<usize>,
pub cut_value: f64,
pub dirty: bool,
}Expand description
A node in the hierarchical decomposition tree
Fields§
§id: usizeUnique ID of this node
level: usizeLevel in the hierarchy (0 = leaves = individual vertices)
vertices: HashSet<VertexId>Vertices contained in this node (at leaves) or children indices
parent: Option<usize>Parent node index (None for root)
children: Vec<usize>Child node indices
cut_value: f64Cut value for this subtree
dirty: boolWhether this node needs recomputation
Implementations§
Trait Implementations§
Source§impl Clone for DecompositionNode
impl Clone for DecompositionNode
Source§fn clone(&self) -> DecompositionNode
fn clone(&self) -> DecompositionNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DecompositionNode
impl RefUnwindSafe for DecompositionNode
impl Send for DecompositionNode
impl Sync for DecompositionNode
impl Unpin for DecompositionNode
impl UnwindSafe for DecompositionNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more