Struct node_runtime::NposSolution16 [−][src]
pub struct NposSolution16 {}Show fields
pub votes1: Vec<(u32, u16)>, pub votes2: Vec<(u32, [(u16, PerU16); 1], u16)>, pub votes3: Vec<(u32, [(u16, PerU16); 2], u16)>, pub votes4: Vec<(u32, [(u16, PerU16); 3], u16)>, pub votes5: Vec<(u32, [(u16, PerU16); 4], u16)>, pub votes6: Vec<(u32, [(u16, PerU16); 5], u16)>, pub votes7: Vec<(u32, [(u16, PerU16); 6], u16)>, pub votes8: Vec<(u32, [(u16, PerU16); 7], u16)>, pub votes9: Vec<(u32, [(u16, PerU16); 8], u16)>, pub votes10: Vec<(u32, [(u16, PerU16); 9], u16)>, pub votes11: Vec<(u32, [(u16, PerU16); 10], u16)>, pub votes12: Vec<(u32, [(u16, PerU16); 11], u16)>, pub votes13: Vec<(u32, [(u16, PerU16); 12], u16)>, pub votes14: Vec<(u32, [(u16, PerU16); 13], u16)>, pub votes15: Vec<(u32, [(u16, PerU16); 14], u16)>, pub votes16: Vec<(u32, [(u16, PerU16); 15], u16)>,
Fields
votes1: Vec<(u32, u16)>
votes2: Vec<(u32, [(u16, PerU16); 1], u16)>
votes3: Vec<(u32, [(u16, PerU16); 2], u16)>
votes4: Vec<(u32, [(u16, PerU16); 3], u16)>
votes5: Vec<(u32, [(u16, PerU16); 4], u16)>
votes6: Vec<(u32, [(u16, PerU16); 5], u16)>
votes7: Vec<(u32, [(u16, PerU16); 6], u16)>
votes8: Vec<(u32, [(u16, PerU16); 7], u16)>
votes9: Vec<(u32, [(u16, PerU16); 8], u16)>
votes10: Vec<(u32, [(u16, PerU16); 9], u16)>
votes11: Vec<(u32, [(u16, PerU16); 10], u16)>
votes12: Vec<(u32, [(u16, PerU16); 11], u16)>
votes13: Vec<(u32, [(u16, PerU16); 12], u16)>
votes14: Vec<(u32, [(u16, PerU16); 13], u16)>
votes15: Vec<(u32, [(u16, PerU16); 14], u16)>
votes16: Vec<(u32, [(u16, PerU16); 15], u16)>
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
A struct to encode a election assignment in a compact way.
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) -> usize
Calculates the encoded size. Read more
type VoterIndex = u32
type VoterIndex = u32
The voter type. Needs to be an index (convert to usize).
type TargetIndex = u16
type TargetIndex = u16
The target type. Needs to be an index (convert to usize).
Remove a certain voter. Read more
fn from_assignment<FV, FT, A>(
assignments: &[Assignment<A, PerU16>],
voter_index: FV,
target_index: FT
) -> Result<Self, Error> where
A: IdentifierT,
for<'r> FV: Fn(&'r A) -> Option<Self::VoterIndex>,
for<'r> FT: Fn(&'r A) -> Option<Self::TargetIndex>,
fn from_assignment<FV, FT, A>(
assignments: &[Assignment<A, PerU16>],
voter_index: FV,
target_index: FT
) -> Result<Self, Error> where
A: IdentifierT,
for<'r> FV: Fn(&'r A) -> Option<Self::VoterIndex>,
for<'r> FT: Fn(&'r A) -> Option<Self::TargetIndex>,
Build self from a list of assignments.
fn into_assignment<A: IdentifierT>(
self,
voter_at: impl Fn(Self::VoterIndex) -> Option<A>,
target_at: impl Fn(Self::TargetIndex) -> Option<A>
) -> Result<Vec<Assignment<A, PerU16>>, Error>
fn into_assignment<A: IdentifierT>(
self,
voter_at: impl Fn(Self::VoterIndex) -> Option<A>,
target_at: impl Fn(Self::TargetIndex) -> Option<A>
) -> Result<Vec<Assignment<A, PerU16>>, Error>
Convert self into a Vec<Assignment<A, Self::Accuracy>>
Get the length of all the voters that this type is encoding. Read more
Get the total count of edges. Read more
Get the number of unique targets in the whole struct. Read more
Get the average edge count.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
impl<'a> TryFrom<&'a [IndexAssignment<<NposSolution16 as NposSolution>::VoterIndex, <NposSolution16 as NposSolution>::TargetIndex, <NposSolution16 as NposSolution>::Accuracy>]> for NposSolution16
impl<'a> TryFrom<&'a [IndexAssignment<<NposSolution16 as NposSolution>::VoterIndex, <NposSolution16 as NposSolution>::TargetIndex, <NposSolution16 as NposSolution>::Accuracy>]> for NposSolution16
fn try_from(
index_assignments: &'a [IndexAssignment<<NposSolution16 as NposSolution>::VoterIndex, <NposSolution16 as NposSolution>::TargetIndex, <NposSolution16 as NposSolution>::Accuracy>]
) -> Result<Self, Self::Error>
fn try_from(
index_assignments: &'a [IndexAssignment<<NposSolution16 as NposSolution>::VoterIndex, <NposSolution16 as NposSolution>::TargetIndex, <NposSolution16 as NposSolution>::Accuracy>]
) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for NposSolution16
impl Send for NposSolution16
impl Sync for NposSolution16
impl Unpin for NposSolution16
impl UnwindSafe for NposSolution16
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 = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, 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,
impl<T> MaybeDebug for T where
T: Debug,