Struct sp_npos_elections::IndexAssignment [−][src]
pub struct IndexAssignment<VoterIndex, TargetIndex, P: PerThing> { pub who: VoterIndex, pub distribution: Vec<(TargetIndex, P)>, }
Expand description
The IndexAssignment type is an intermediate between the assignments list
(&[Assignment<T>]) and SolutionOf<T>.
The voter and target identifiers have already been replaced with appropriate indices,
making it fast to repeatedly encode into a SolutionOf<T>. This property turns out
to be important when trimming for solution length.
Fields
who: VoterIndexIndex of the voter among the voters list.
distribution: Vec<(TargetIndex, P)>The distribution of the voter’s stake among winning targets.
Targets are identified by their index in the canonical list.
Implementations
Trait Implementations
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>Returns the fixed encoded size of the type. Read more
Returns the “default value” for a type. Read more
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, 
fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usizeCalculates the encoded size. Read more
impl<VoterIndex: PartialEq, TargetIndex: PartialEq, P: PartialEq + PerThing> PartialEq<IndexAssignment<VoterIndex, TargetIndex, P>> for IndexAssignment<VoterIndex, TargetIndex, P>
impl<VoterIndex: PartialEq, TargetIndex: PartialEq, P: PartialEq + PerThing> PartialEq<IndexAssignment<VoterIndex, TargetIndex, P>> for IndexAssignment<VoterIndex, TargetIndex, P>This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
impl<VoterIndex, TargetIndex, P: PerThing> EncodeLike<IndexAssignment<VoterIndex, TargetIndex, P>> for IndexAssignment<VoterIndex, TargetIndex, P> where
    VoterIndex: Encode,
    VoterIndex: Encode,
    Vec<(TargetIndex, P)>: Encode,
    Vec<(TargetIndex, P)>: Encode, impl<VoterIndex: Eq, TargetIndex: Eq, P: Eq + PerThing> Eq for IndexAssignment<VoterIndex, TargetIndex, P>impl<VoterIndex, TargetIndex, P: PerThing> StructuralEq for IndexAssignment<VoterIndex, TargetIndex, P>impl<VoterIndex, TargetIndex, P: PerThing> StructuralPartialEq for IndexAssignment<VoterIndex, TargetIndex, P>Auto Trait Implementations
impl<VoterIndex, TargetIndex, P> RefUnwindSafe for IndexAssignment<VoterIndex, TargetIndex, P> where
    P: RefUnwindSafe,
    TargetIndex: RefUnwindSafe,
    VoterIndex: RefUnwindSafe, impl<VoterIndex, TargetIndex, P> Send for IndexAssignment<VoterIndex, TargetIndex, P> where
    P: Send,
    TargetIndex: Send,
    VoterIndex: Send, impl<VoterIndex, TargetIndex, P> Sync for IndexAssignment<VoterIndex, TargetIndex, P> where
    P: Sync,
    TargetIndex: Sync,
    VoterIndex: Sync, impl<VoterIndex, TargetIndex, P> Unpin for IndexAssignment<VoterIndex, TargetIndex, P> where
    P: Unpin,
    TargetIndex: Unpin,
    VoterIndex: Unpin, impl<VoterIndex, TargetIndex, P> UnwindSafe for IndexAssignment<VoterIndex, TargetIndex, P> where
    P: UnwindSafe,
    TargetIndex: UnwindSafe,
    VoterIndex: UnwindSafe, Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
    T: Any, 
impl<T> Downcast for T where
    T: Any, Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
pub fn vzip(self) -> Vimpl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode, impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode, impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode, impl<T> EncodeLike<Arc<T>> for T where
    T: Encode, impl<T> EncodeLike<Rc<T>> for T where
    T: Encode, impl<T> MaybeDebug for T where
    T: Debug,