Struct sp_runtime::Perquintill
source · pub struct Perquintill(_);
Expand description
Re-export top-level arithmetic stuff. A fixed point representation of a number in the range [0, 1].
Parts per Quintillion
Implementations
sourceimpl Perquintill
impl Perquintill
sourcepub const fn from_parts(parts: u64) -> Perquintill
pub const fn from_parts(parts: u64) -> Perquintill
From an explicitly defined number of parts per maximum of the type.
sourcepub const fn from_percent(x: u64) -> Perquintill
pub const fn from_percent(x: u64) -> Perquintill
Converts a percent into Self
. Equal to x / 100
.
This can be created at compile time.
sourcepub const fn one() -> Perquintill
pub const fn one() -> Perquintill
See PerThing::one
sourcepub fn is_one(&self) -> bool
pub fn is_one(&self) -> bool
See PerThing::is_one
.
sourcepub const fn zero() -> Perquintill
pub const fn zero() -> Perquintill
See PerThing::zero
.
sourcepub fn is_zero(&self) -> bool
pub fn is_zero(&self) -> bool
See PerThing::is_zero
.
sourcepub const fn deconstruct(self) -> u64
pub const fn deconstruct(self) -> u64
sourcepub fn square(self) -> Perquintill
pub fn square(self) -> Perquintill
See PerThing::square
.
sourcepub fn from_float(x: f64) -> Perquintill
pub fn from_float(x: f64) -> Perquintill
See PerThing::from_float
.
sourcepub fn from_rational_approximation<N>(p: N, q: N) -> Perquintillwhere
N: RationalArg + TryInto<u64> + TryInto<u128>,
u64: Into<N>,
👎Deprecated: Use PerThing::from_rational
instead
pub fn from_rational_approximation<N>(p: N, q: N) -> Perquintillwhere
N: RationalArg + TryInto<u64> + TryInto<u128>,
u64: Into<N>,
PerThing::from_rational
insteadsourcepub fn from_rational<N>(p: N, q: N) -> Perquintillwhere
N: RationalArg + TryInto<u64> + TryInto<u128>,
u64: Into<N>,
pub fn from_rational<N>(p: N, q: N) -> Perquintillwhere
N: RationalArg + TryInto<u64> + TryInto<u128>,
u64: Into<N>,
sourcepub fn int_mul(self, b: u64) -> Perquintill
pub fn int_mul(self, b: u64) -> Perquintill
Integer multiplication with another value, saturating at 1.
sourcepub fn int_div(self, b: Perquintill) -> u64
pub fn int_div(self, b: Perquintill) -> u64
Integer division with another value, rounding down.
sourcepub fn mul_floor<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
pub fn mul_floor<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
See PerThing::mul_floor
.
sourcepub fn mul_ceil<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
pub fn mul_ceil<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
See PerThing::mul_ceil
.
sourcepub fn saturating_reciprocal_mul<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
pub fn saturating_reciprocal_mul<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
sourcepub fn saturating_reciprocal_mul_floor<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
pub fn saturating_reciprocal_mul_floor<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
sourcepub fn saturating_reciprocal_mul_ceil<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
pub fn saturating_reciprocal_mul_ceil<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<u64>,
u64: Into<N>,
sourcepub fn saturating_div(self, rhs: Perquintill, r: Rounding) -> Perquintill
pub fn saturating_div(self, rhs: Perquintill, r: Rounding) -> Perquintill
Saturating division. Compute self / rhs
, saturating at one if rhs < self
.
The rounding
method must be specified. e.g.:
let pc = |x| Percent::from_percent(x);
assert_eq!(
pc(2).saturating_div(pc(3), Down),
pc(66),
);
assert_eq!(
pc(1).saturating_div(pc(3), NearestPrefUp),
pc(33),
);
assert_eq!(
pc(2).saturating_div(pc(3), NearestPrefDown),
pc(67),
);
assert_eq!(
pc(1).saturating_div(pc(3), Up),
pc(34),
);
sourceimpl Perquintill
impl Perquintill
sourcepub const fn from_perthousand(x: u64) -> Perquintill
pub const fn from_perthousand(x: u64) -> Perquintill
Converts a percent into Self
. Equal to x / 1000
.
This can be created at compile time.
Trait Implementations
sourceimpl Add<Perquintill> for Perquintill
impl Add<Perquintill> for Perquintill
type Output = Perquintill
type Output = Perquintill
+
operator.sourcefn add(self, rhs: Perquintill) -> <Perquintill as Add<Perquintill>>::Output
fn add(self, rhs: Perquintill) -> <Perquintill as Add<Perquintill>>::Output
+
operation. Read moresourceimpl Bounded for Perquintill
impl Bounded for Perquintill
sourcefn min_value() -> Perquintill
fn min_value() -> Perquintill
sourcefn max_value() -> Perquintill
fn max_value() -> Perquintill
sourceimpl CheckedAdd for Perquintill
impl CheckedAdd for Perquintill
sourcefn checked_add(&self, rhs: &Perquintill) -> Option<Perquintill>
fn checked_add(&self, rhs: &Perquintill) -> Option<Perquintill>
None
is
returned. Read moresourceimpl CheckedMul for Perquintill
impl CheckedMul for Perquintill
Note
CheckedMul will never fail for PerThings.
sourcefn checked_mul(&self, rhs: &Perquintill) -> Option<Perquintill>
fn checked_mul(&self, rhs: &Perquintill) -> Option<Perquintill>
None
is returned. Read moresourceimpl CheckedSub for Perquintill
impl CheckedSub for Perquintill
sourcefn checked_sub(&self, v: &Perquintill) -> Option<Perquintill>
fn checked_sub(&self, v: &Perquintill) -> Option<Perquintill>
None
is returned. Read moresourceimpl Clone for Perquintill
impl Clone for Perquintill
sourcefn clone(&self) -> Perquintill
fn clone(&self) -> Perquintill
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl CompactAs for Perquintill
impl CompactAs for Perquintill
Implementation makes any compact encoding of PerThing::Inner
valid,
when decoding it will saturate up to PerThing::ACCURACY
.
sourcefn encode_as(&self) -> &<Perquintill as CompactAs>::As
fn encode_as(&self) -> &<Perquintill as CompactAs>::As
sourcefn decode_from(x: <Perquintill as CompactAs>::As) -> Result<Perquintill, Error>
fn decode_from(x: <Perquintill as CompactAs>::As) -> Result<Perquintill, Error>
Self
from the compact-decoded type.sourceimpl Debug for Perquintill
impl Debug for Perquintill
sourceimpl Decode for Perquintill
impl Decode for Perquintill
sourcefn decode<I>(input: &mut I) -> Result<Perquintill, Error>where
I: Input,
fn decode<I>(input: &mut I) -> Result<Perquintill, Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
sourceimpl Default for Perquintill
impl Default for Perquintill
sourcefn default() -> Perquintill
fn default() -> Perquintill
sourceimpl<'de> Deserialize<'de> for Perquintill
impl<'de> Deserialize<'de> for Perquintill
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<Perquintill, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Perquintill, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
sourceimpl<N> Div<N> for Perquintillwhere
u64: TryFrom<N>,
impl<N> Div<N> for Perquintillwhere
u64: TryFrom<N>,
type Output = Perquintill
type Output = Perquintill
/
operator.sourceimpl Div<Perquintill> for Perquintill
impl Div<Perquintill> for Perquintill
type Output = Perquintill
type Output = Perquintill
/
operator.sourcefn div(self, rhs: Perquintill) -> <Perquintill as Div<Perquintill>>::Output
fn div(self, rhs: Perquintill) -> <Perquintill as Div<Perquintill>>::Output
/
operation. Read moresourceimpl Encode for Perquintill
impl Encode for Perquintill
sourcefn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>(&self, __codec_dest_edqy: &mut __CodecOutputEdqy)where
__CodecOutputEdqy: Output + ?Sized,
sourcefn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
sourceimpl From<Compact<Perquintill>> for Perquintill
impl From<Compact<Perquintill>> for Perquintill
sourcefn from(x: Compact<Perquintill>) -> Perquintill
fn from(x: Compact<Perquintill>) -> Perquintill
sourceimpl MaxEncodedLen for Perquintill
impl MaxEncodedLen for Perquintill
sourcefn max_encoded_len() -> usize
fn max_encoded_len() -> usize
sourceimpl<N> Mul<N> for Perquintillwhere
N: Div<N, Output = N> + Mul<N, Output = N> + Add<N, Output = N> + Unsigned<Output = N> + Clone + UniqueSaturatedInto<u64> + Rem<N>,
u64: Into<N>,
impl<N> Mul<N> for Perquintillwhere
N: Div<N, Output = N> + Mul<N, Output = N> + Add<N, Output = N> + Unsigned<Output = N> + Clone + UniqueSaturatedInto<u64> + Rem<N>,
u64: Into<N>,
Non-overflow multiplication.
This is tailored to be used with a balance type.
sourceimpl Mul<Perquintill> for Perquintill
impl Mul<Perquintill> for Perquintill
type Output = Perquintill
type Output = Perquintill
*
operator.sourcefn mul(self, rhs: Perquintill) -> <Perquintill as Mul<Perquintill>>::Output
fn mul(self, rhs: Perquintill) -> <Perquintill as Mul<Perquintill>>::Output
*
operation. Read moresourceimpl Mul<Weight> for Perquintill
impl Mul<Weight> for Perquintill
sourceimpl One for Perquintill
impl One for Perquintill
sourcefn one() -> Perquintill
fn one() -> Perquintill
sourceimpl Ord for Perquintill
impl Ord for Perquintill
sourcefn cmp(&self, other: &Perquintill) -> Ordering
fn cmp(&self, other: &Perquintill) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialEq<Perquintill> for Perquintill
impl PartialEq<Perquintill> for Perquintill
sourcefn eq(&self, other: &Perquintill) -> bool
fn eq(&self, other: &Perquintill) -> bool
sourceimpl PartialOrd<Perquintill> for Perquintill
impl PartialOrd<Perquintill> for Perquintill
sourcefn partial_cmp(&self, other: &Perquintill) -> Option<Ordering>
fn partial_cmp(&self, other: &Perquintill) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl PerThing for Perquintill
impl PerThing for Perquintill
sourcefn deconstruct(self) -> <Perquintill as PerThing>::Inner
fn deconstruct(self) -> <Perquintill as PerThing>::Inner
Consume self and return the number of parts per thing.
sourcefn from_parts(parts: <Perquintill as PerThing>::Inner) -> Perquintill
fn from_parts(parts: <Perquintill as PerThing>::Inner) -> Perquintill
Build this type from a number of parts per thing.
sourcefn from_float(x: f64) -> Perquintill
fn from_float(x: f64) -> Perquintill
NOTE: saturate to 0 or 1 if x is beyond [0, 1]
type Upper = u128
type Upper = u128
Self::Inner
, used to avoid overflow in some computations.
It must be able to compute ACCURACY^2
. Read moresourceconst ACCURACY: <Perquintill as PerThing>::Inner = {transmute(0x0de0b6b3a7640000): <sp_arithmetic::Perquintill as sp_arithmetic::PerThing>::Inner}
const ACCURACY: <Perquintill as PerThing>::Inner = {transmute(0x0de0b6b3a7640000): <sp_arithmetic::Perquintill as sp_arithmetic::PerThing>::Inner}
sourcefn from_rational_with_rounding<N>(
p: N,
q: N,
r: Rounding
) -> Result<Perquintill, ()>where
N: Clone + Ord + TryInto<<Perquintill as PerThing>::Inner> + TryInto<<Perquintill as PerThing>::Upper> + Div<N, Output = N> + Rem<N, Output = N> + Add<N, Output = N> + AddAssign<N> + Unsigned + Zero + One + MultiplyRational,
<Perquintill as PerThing>::Inner: Into<N>,
fn from_rational_with_rounding<N>(
p: N,
q: N,
r: Rounding
) -> Result<Perquintill, ()>where
N: Clone + Ord + TryInto<<Perquintill as PerThing>::Inner> + TryInto<<Perquintill as PerThing>::Upper> + Div<N, Output = N> + Rem<N, Output = N> + Add<N, Output = N> + AddAssign<N> + Unsigned + Zero + One + MultiplyRational,
<Perquintill as PerThing>::Inner: Into<N>,
p/q
into a per-thing fraction. Read moresourcefn less_epsilon(self) -> Self
fn less_epsilon(self) -> Self
self
or self
if it is already zero.sourcefn try_less_epsilon(self) -> Result<Self, Self>
fn try_less_epsilon(self) -> Result<Self, Self>
self
or an error with the same value if self
is already
zero. Read moresourcefn plus_epsilon(self) -> Self
fn plus_epsilon(self) -> Self
self
or self
if it is already one.sourcefn try_plus_epsilon(self) -> Result<Self, Self>
fn try_plus_epsilon(self) -> Result<Self, Self>
self
or an error with the same value if self
is already
one. Read moresourcefn from_percent(x: Self::Inner) -> Self
fn from_percent(x: Self::Inner) -> Self
Self::from_parts(x * Self::ACCURACY / 100)
but more accurate and can cope with potential type overflows. Read moresourcefn left_from_one(self) -> Self
fn left_from_one(self) -> Self
self
is saturating-subtracted from Self::one()
.sourcefn mul_floor<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
fn mul_floor<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
Mul
rounds to the
nearest whole number. Read moresourcefn mul_ceil<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
fn mul_ceil<N>(self, b: N) -> Nwhere
N: MultiplyArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
Mul
rounds to the nearest whole number. Read moresourcefn saturating_reciprocal_mul<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
fn saturating_reciprocal_mul<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
self
. The result is rounded to the
nearest whole number and saturates at the numeric bounds instead of overflowing. Read moresourcefn saturating_reciprocal_mul_floor<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
fn saturating_reciprocal_mul_floor<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
self
. The result is rounded down to the
nearest whole number and saturates at the numeric bounds instead of overflowing. Read moresourcefn saturating_reciprocal_mul_ceil<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
fn saturating_reciprocal_mul_ceil<N>(self, b: N) -> Nwhere
N: ReciprocalArg + UniqueSaturatedInto<Self::Inner>,
Self::Inner: Into<N>,
self
. The result is rounded up to the
nearest whole number and saturates at the numeric bounds instead of overflowing. Read moresourcefn from_rational<N>(p: N, q: N) -> Selfwhere
N: RationalArg + TryInto<Self::Inner> + TryInto<Self::Upper>,
Self::Inner: Into<N>,
fn from_rational<N>(p: N, q: N) -> Selfwhere
N: RationalArg + TryInto<Self::Inner> + TryInto<Self::Upper>,
Self::Inner: Into<N>,
p/q
into a per-thing fraction. This will never overflow. Read moresourcefn from_rational_approximation<N>(p: N, q: N) -> Selfwhere
N: RationalArg + TryInto<Self::Inner> + TryInto<Self::Upper>,
Self::Inner: Into<N>,
fn from_rational_approximation<N>(p: N, q: N) -> Selfwhere
N: RationalArg + TryInto<Self::Inner> + TryInto<Self::Upper>,
Self::Inner: Into<N>,
Self::from_rational
.sourceimpl Pow<usize> for Perquintill
impl Pow<usize> for Perquintill
type Output = Perquintill
type Output = Perquintill
sourceimpl Saturating for Perquintill
impl Saturating for Perquintill
sourcefn saturating_add(self, rhs: Perquintill) -> Perquintill
fn saturating_add(self, rhs: Perquintill) -> Perquintill
Saturating addition. Compute self + rhs
, saturating at the numeric bounds instead of
overflowing. This operation is lossless if it does not saturate.
sourcefn saturating_sub(self, rhs: Perquintill) -> Perquintill
fn saturating_sub(self, rhs: Perquintill) -> Perquintill
Saturating subtraction. Compute self - rhs
, saturating at the numeric bounds instead of
overflowing. This operation is lossless if it does not saturate.
sourcefn saturating_mul(self, rhs: Perquintill) -> Perquintill
fn saturating_mul(self, rhs: Perquintill) -> Perquintill
Saturating multiply. Compute self * rhs
, saturating at the numeric bounds instead of
overflowing. This operation is lossy.
sourcefn saturating_pow(self, exp: usize) -> Perquintill
fn saturating_pow(self, exp: usize) -> Perquintill
Saturating exponentiation. Computes self.pow(exp)
, saturating at the numeric
bounds instead of overflowing. This operation is lossy.
sourcefn saturating_less_one(self) -> Selfwhere
Self: One,
fn saturating_less_one(self) -> Selfwhere
Self: One,
sourcefn saturating_plus_one(self) -> Selfwhere
Self: One,
fn saturating_plus_one(self) -> Selfwhere
Self: One,
sourcefn saturating_inc(&mut self)where
Self: One,
fn saturating_inc(&mut self)where
Self: One,
sourcefn saturating_dec(&mut self)where
Self: One,
fn saturating_dec(&mut self)where
Self: One,
sourcefn saturating_accrue(&mut self, amount: Self)where
Self: One,
fn saturating_accrue(&mut self, amount: Self)where
Self: One,
amount
, saturating.sourcefn saturating_reduce(&mut self, amount: Self)where
Self: One,
fn saturating_reduce(&mut self, amount: Self)where
Self: One,
amount
, saturating at zero.sourceimpl SaturatingAdd for Perquintill
impl SaturatingAdd for Perquintill
sourcefn saturating_add(&self, v: &Perquintill) -> Perquintill
fn saturating_add(&self, v: &Perquintill) -> Perquintill
self + other
, saturating at the relevant high or low boundary of
the type. Read moresourceimpl SaturatingSub for Perquintill
impl SaturatingSub for Perquintill
sourcefn saturating_sub(&self, v: &Perquintill) -> Perquintill
fn saturating_sub(&self, v: &Perquintill) -> Perquintill
self - other
, saturating at the relevant high or low boundary of
the type. Read moresourceimpl Serialize for Perquintill
impl Serialize for Perquintill
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
sourceimpl Sub<Perquintill> for Perquintill
impl Sub<Perquintill> for Perquintill
type Output = Perquintill
type Output = Perquintill
-
operator.sourcefn sub(self, rhs: Perquintill) -> <Perquintill as Sub<Perquintill>>::Output
fn sub(self, rhs: Perquintill) -> <Perquintill as Sub<Perquintill>>::Output
-
operation. Read moresourceimpl TypeInfo for Perquintill
impl TypeInfo for Perquintill
type Identity = Perquintill
type Identity = Perquintill
sourceimpl Zero for Perquintill
impl Zero for Perquintill
impl Copy for Perquintill
impl EncodeLike<Perquintill> for Perquintill
impl Eq for Perquintill
impl StructuralEq for Perquintill
impl StructuralPartialEq for Perquintill
Auto Trait Implementations
impl RefUnwindSafe for Perquintill
impl Send for Perquintill
impl Sync for Perquintill
impl Unpin for Perquintill
impl UnwindSafe for Perquintill
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
sourcefn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read moreimpl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
fn decode_all_with_depth_limit(limit: u32, input: &mut &[u8]) -> Result<T, Error>
fn decode_all_with_depth_limit(limit: u32, input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read morefn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>where
I: Input,
fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>where
I: Input,
Self
with the given maximum recursion depth and advance input
by the number of
bytes consumed. Read moreimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresourceimpl<T> EnsureAdd for Twhere
T: EnsureAddAssign,
impl<T> EnsureAdd for Twhere
T: EnsureAddAssign,
sourcefn ensure_add(self, v: Self) -> Result<Self, ArithmeticError>
fn ensure_add(self, v: Self) -> Result<Self, ArithmeticError>
sourceimpl<T> EnsureAddAssign for Twhere
T: CheckedAdd + PartialOrd<T> + Zero,
impl<T> EnsureAddAssign for Twhere
T: CheckedAdd + PartialOrd<T> + Zero,
sourcefn ensure_add_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
fn ensure_add_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
sourceimpl<T, S> EnsureFrom<S> for Twhere
T: TryFrom<S> + PartialOrd<T> + Zero,
S: PartialOrd<S> + Zero,
impl<T, S> EnsureFrom<S> for Twhere
T: TryFrom<S> + PartialOrd<T> + Zero,
S: PartialOrd<S> + Zero,
sourcefn ensure_from(other: T) -> Result<Self, ArithmeticError>
fn ensure_from(other: T) -> Result<Self, ArithmeticError>
ArithmeticError
if fails. Read moresourceimpl<T, S> EnsureInto<S> for Twhere
T: TryInto<S> + PartialOrd<T> + Zero,
S: PartialOrd<S> + Zero,
impl<T, S> EnsureInto<S> for Twhere
T: TryInto<S> + PartialOrd<T> + Zero,
S: PartialOrd<S> + Zero,
sourcefn ensure_into(self) -> Result<T, ArithmeticError>
fn ensure_into(self) -> Result<T, ArithmeticError>
ArithmeticError
if fails. Read moresourceimpl<T> EnsureMul for Twhere
T: EnsureMulAssign,
impl<T> EnsureMul for Twhere
T: EnsureMulAssign,
sourcefn ensure_mul(self, v: Self) -> Result<Self, ArithmeticError>
fn ensure_mul(self, v: Self) -> Result<Self, ArithmeticError>
sourceimpl<T> EnsureMulAssign for Twhere
T: CheckedMul + PartialOrd<T> + Zero,
impl<T> EnsureMulAssign for Twhere
T: CheckedMul + PartialOrd<T> + Zero,
sourcefn ensure_mul_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
fn ensure_mul_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
sourceimpl<T> EnsureSub for Twhere
T: EnsureSubAssign,
impl<T> EnsureSub for Twhere
T: EnsureSubAssign,
sourcefn ensure_sub(self, v: Self) -> Result<Self, ArithmeticError>
fn ensure_sub(self, v: Self) -> Result<Self, ArithmeticError>
sourceimpl<T> EnsureSubAssign for Twhere
T: CheckedSub + PartialOrd<T> + Zero,
impl<T> EnsureSubAssign for Twhere
T: CheckedSub + PartialOrd<T> + Zero,
sourcefn ensure_sub_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
fn ensure_sub_assign(&mut self, v: Self) -> Result<(), ArithmeticError>
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<T> HasCompact for Twhere
T: 'static,
Compact<T>: for<'a> EncodeAsRef<'a, T> + Decode + From<T> + Into<T>,
impl<T> HasCompact for Twhere
T: 'static,
Compact<T>: for<'a> EncodeAsRef<'a, T> + Decode + From<T> + Into<T>,
type Type = Compact<T>
type Type = Compact<T>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
sourcefn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresourceimpl<T> ThresholdOrd<T> for Twhere
T: Ord + PartialOrd<T> + Copy + Clone + Zero + Saturating,
impl<T> ThresholdOrd<T> for Twhere
T: Ord + PartialOrd<T> + Copy + Clone + Zero + Saturating,
sourceimpl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
sourcefn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.sourceimpl<T, S> UniqueSaturatedFrom<T> for Swhere
S: TryFrom<T> + Bounded,
impl<T, S> UniqueSaturatedFrom<T> for Swhere
S: TryFrom<T> + Bounded,
sourcefn unique_saturated_from(t: T) -> S
fn unique_saturated_from(t: T) -> S
T
into an equivalent instance of Self
.sourceimpl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
sourcefn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.