pub struct Fragment {
pub id: u64,
pub vertices: HashSet<VertexId>,
pub boundary: Vec<(VertexId, VertexId)>,
pub internal_edge_count: usize,
pub volume: usize,
pub parent: Option<u64>,
pub children: Vec<u64>,
pub is_expander: bool,
}Expand description
A fragment (partition) of the graph
Fields§
§id: u64Unique fragment identifier
vertices: HashSet<VertexId>Vertices in this fragment
boundary: Vec<(VertexId, VertexId)>Boundary edges (crossing to other fragments)
internal_edge_count: usizeInternal edges (within fragment)
volume: usizeVolume (sum of degrees)
parent: Option<u64>Parent fragment ID (if any)
children: Vec<u64>Child fragment IDs
is_expander: boolIs this fragment an expander?
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Fragment
impl RefUnwindSafe for Fragment
impl Send for Fragment
impl Sync for Fragment
impl Unpin for Fragment
impl UnwindSafe for Fragment
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