pub struct PortConnectivityBuilder<TS> { /* private fields */ }Expand description
Append-only accumulation of port summaries, prior to canonicalization.
Summaries may be introduced in any order, and repeatedly for the same port.
The freeze method canonicalizes the accumulation into a PortConnectivity,
which is the only way to read the contents back out.
Implementations§
Source§impl<TS> PortConnectivityBuilder<TS>
impl<TS> PortConnectivityBuilder<TS>
Sourcepub fn insert(&mut self, index: usize, element: TS)
pub fn insert(&mut self, index: usize, element: TS)
Inserts a summary element for index.
Equivalent to add_port with a single-element antichain.
Sourcepub fn add_port(&mut self, port: usize, summary: Antichain<TS>)
pub fn add_port(&mut self, port: usize, summary: Antichain<TS>)
Introduces a summary for port, which freeze will merge with any other
summaries for the same port.
Summaries for the same port are merged by antichain insertion, and describe the union of the claimed paths. Empty summaries are discarded.
Sourcepub fn freeze(self) -> PortConnectivity<TS>where
TS: PartialOrder,
pub fn freeze(self) -> PortConnectivity<TS>where
TS: PartialOrder,
Canonicalizes the accumulated summaries into a readable PortConnectivity.
Duplicate ports are merged by antichain insertion, whose result is independent of the order in which elements were introduced.
Trait Implementations§
Source§impl<TS: Clone> Clone for PortConnectivityBuilder<TS>
impl<TS: Clone> Clone for PortConnectivityBuilder<TS>
Source§fn clone(&self) -> PortConnectivityBuilder<TS>
fn clone(&self) -> PortConnectivityBuilder<TS>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<TS: Debug> Debug for PortConnectivityBuilder<TS>
impl<TS: Debug> Debug for PortConnectivityBuilder<TS>
Source§impl<TS> Default for PortConnectivityBuilder<TS>
impl<TS> Default for PortConnectivityBuilder<TS>
Source§impl<TS> FromIterator<(usize, Antichain<TS>)> for PortConnectivityBuilder<TS>
impl<TS> FromIterator<(usize, Antichain<TS>)> for PortConnectivityBuilder<TS>
Auto Trait Implementations§
impl<TS> Freeze for PortConnectivityBuilder<TS>
impl<TS> RefUnwindSafe for PortConnectivityBuilder<TS>where
TS: RefUnwindSafe,
impl<TS> Send for PortConnectivityBuilder<TS>where
TS: Send,
impl<TS> Sync for PortConnectivityBuilder<TS>where
TS: Sync,
impl<TS> Unpin for PortConnectivityBuilder<TS>where
TS: Unpin,
impl<TS> UnsafeUnpin for PortConnectivityBuilder<TS>
impl<TS> UnwindSafe for PortConnectivityBuilder<TS>where
TS: RefUnwindSafe + UnwindSafe,
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
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>
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>
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