pub enum CellSelection {
SingleSource {
source: usize,
},
Precedence {
source: usize,
members: Vec<usize>,
},
Combined {
rule: MergeCombine,
members: Vec<usize>,
},
}Expand description
How the merge arrived at the value it wrote for one channel of one cell.
The distinction between CellSelection::Precedence and
CellSelection::Combined is load-bearing rather than cosmetic: under
MergeCombine::Mean or MergeCombine::Median - and Mean is the
default - the emitted value is a combination of the agreeing members, so
“which contributor supplied this cell” has no answer. The honest record there
is the member set and the rule that combined them, and this type refuses to
pretend otherwise.
Variants§
SingleSource
One source carried the cell; it was carried through as gap fill. Also
recorded in MergeReport::single_source.
Precedence
Precedence picked one source out of an agreeing set.
Fields
Combined
The written value is a combination of the members; no single source supplied it.
Fields
rule: MergeCombineThe rule that produced the written value.
Implementations§
Source§impl CellSelection
impl CellSelection
Sourcepub fn selected_source(&self) -> Option<usize>
pub fn selected_source(&self) -> Option<usize>
The single source whose value was written, when one exists.
None for CellSelection::Combined, where no single contributor
supplied the value.
Trait Implementations§
Source§impl Clone for CellSelection
impl Clone for CellSelection
Source§fn clone(&self) -> CellSelection
fn clone(&self) -> CellSelection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CellSelection
impl Debug for CellSelection
Source§impl PartialEq for CellSelection
impl PartialEq for CellSelection
impl StructuralPartialEq for CellSelection
Auto Trait Implementations§
impl Freeze for CellSelection
impl RefUnwindSafe for CellSelection
impl Send for CellSelection
impl Sync for CellSelection
impl Unpin for CellSelection
impl UnsafeUnpin for CellSelection
impl UnwindSafe for CellSelection
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.