pub struct SeseRegion<NodeId, EdgeId> {
pub parent: Option<usize>,
pub children: Vec<usize>,
pub entry_edge: Option<EdgeId>,
pub exit_edge: Option<EdgeId>,
pub nodes: Vec<NodeId>,
pub contained_nodes: Vec<NodeId>,
}Expand description
One canonical edge-based SESE region.
Fields§
§parent: Option<usize>Parent region; None only for the synthetic root region.
children: Vec<usize>Immediate child regions, in deterministic entry-edge order.
entry_edge: Option<EdgeId>Boundary edge entering this region (None for the root region).
exit_edge: Option<EdgeId>Boundary edge leaving this region (None for the root region).
nodes: Vec<NodeId>Nodes owned directly by this region (children are not repeated here).
contained_nodes: Vec<NodeId>All original nodes contained by the region, including descendants.
Trait Implementations§
Source§impl<NodeId: Clone, EdgeId: Clone> Clone for SeseRegion<NodeId, EdgeId>
impl<NodeId: Clone, EdgeId: Clone> Clone for SeseRegion<NodeId, EdgeId>
Source§fn clone(&self) -> SeseRegion<NodeId, EdgeId>
fn clone(&self) -> SeseRegion<NodeId, EdgeId>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<NodeId: Eq, EdgeId: Eq> Eq for SeseRegion<NodeId, EdgeId>
impl<NodeId: PartialEq, EdgeId: PartialEq> StructuralPartialEq for SeseRegion<NodeId, EdgeId>
Auto Trait Implementations§
impl<NodeId, EdgeId> Freeze for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> RefUnwindSafe for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> Send for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> Sync for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> Unpin for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> UnsafeUnpin for SeseRegion<NodeId, EdgeId>
impl<NodeId, EdgeId> UnwindSafe for SeseRegion<NodeId, EdgeId>
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