pub struct Disjointness<K> { /* private fields */ }Expand description
Exact separation across two or more declared populations.
K is the scientific identity. A raw source ID checks draw separation;
a canonicalized problem value can check a stronger semantic equivalence.
Retained populations are pairwise compared. One optional streaming
population can be checked against sealed retained populations without
retaining an unbounded history.
Implementations§
Source§impl<K> Disjointness<K>
impl<K> Disjointness<K>
pub fn new( scheme: IdentityScheme, populations: impl IntoIterator<Item = impl Into<PopulationSpec>>, ) -> Result<Self>
Sourcepub fn observe(
&mut self,
population: &str,
identities: impl IntoIterator<Item = K>,
) -> Result<DisjointnessReceipt>
pub fn observe( &mut self, population: &str, identities: impl IntoIterator<Item = K>, ) -> Result<DisjointnessReceipt>
Atomically compare and record one batch of canonical identities. A contaminated batch leaves the ledger unchanged.
Sourcepub fn assert_disjoint(&self) -> Result<DisjointnessReceipt>
pub fn assert_disjoint(&self) -> Result<DisjointnessReceipt>
Require at least one observed identity in every declared population.
pub fn receipt(&self) -> DisjointnessReceipt
Auto Trait Implementations§
impl<K> Freeze for Disjointness<K>
impl<K> RefUnwindSafe for Disjointness<K>
impl<K> Send for Disjointness<K>
impl<K> Sync for Disjointness<K>
impl<K> Unpin for Disjointness<K>
impl<K> UnsafeUnpin for Disjointness<K>
impl<K> UnwindSafe for Disjointness<K>
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