# Struct sp_weights::Weight

source · `pub struct Weight { /* private fields */ }`

## Implementations§

source§### impl Weight

### impl Weight

source#### pub const fn set_ref_time(self, c: u64) -> Self

#### pub const fn set_ref_time(self, c: u64) -> Self

Set the reference time part of the weight.

source#### pub const fn set_proof_size(self, c: u64) -> Self

#### pub const fn set_proof_size(self, c: u64) -> Self

Set the storage size part of the weight.

source#### pub const fn proof_size(&self) -> u64

#### pub const fn proof_size(&self) -> u64

Return the storage size part of the weight.

source#### pub fn ref_time_mut(&mut self) -> &mut u64

#### pub fn ref_time_mut(&mut self) -> &mut u64

Return a mutable reference to the reference time part of the weight.

source#### pub fn proof_size_mut(&mut self) -> &mut u64

#### pub fn proof_size_mut(&mut self) -> &mut u64

Return a mutable reference to the storage size part of the weight.

source#### pub fn try_add(&self, other: &Self, limit: &Self) -> Option<Self>

#### pub fn try_add(&self, other: &Self, limit: &Self) -> Option<Self>

Try to add some `other`

weight while upholding the `limit`

.

source#### pub const fn from_parts(ref_time: u64, proof_size: u64) -> Self

#### pub const fn from_parts(ref_time: u64, proof_size: u64) -> Self

Construct `Weight`

from weight parts, namely reference time and proof size weights.

source#### pub const fn saturating_add(self, rhs: Self) -> Self

#### pub const fn saturating_add(self, rhs: Self) -> Self

Saturating `Weight`

addition. Computes `self + rhs`

, saturating at the numeric bounds of
all fields instead of overflowing.

source#### pub const fn saturating_sub(self, rhs: Self) -> Self

#### pub const fn saturating_sub(self, rhs: Self) -> Self

Saturating `Weight`

subtraction. Computes `self - rhs`

, saturating at the numeric bounds
of all fields instead of overflowing.

source#### pub const fn saturating_mul(self, scalar: u64) -> Self

#### pub const fn saturating_mul(self, scalar: u64) -> Self

Saturating `Weight`

scalar multiplication. Computes `self.field * scalar`

for all fields,
saturating at the numeric bounds of all fields instead of overflowing.

source#### pub const fn saturating_div(self, scalar: u64) -> Self

#### pub const fn saturating_div(self, scalar: u64) -> Self

Saturating `Weight`

scalar division. Computes `self.field / scalar`

for all fields,
saturating at the numeric bounds of all fields instead of overflowing.

source#### pub const fn saturating_pow(self, exp: u32) -> Self

#### pub const fn saturating_pow(self, exp: u32) -> Self

Saturating `Weight`

scalar exponentiation. Computes `self.field.pow(exp)`

for all fields,
saturating at the numeric bounds of all fields instead of overflowing.

source#### pub fn saturating_accrue(&mut self, amount: Self)

#### pub fn saturating_accrue(&mut self, amount: Self)

Increment `Weight`

by `amount`

via saturating addition.

source#### pub fn saturating_reduce(&mut self, amount: Self)

#### pub fn saturating_reduce(&mut self, amount: Self)

Reduce `Weight`

by `amount`

via saturating subtraction.

source#### pub const fn checked_add(&self, rhs: &Self) -> Option<Self>

#### pub const fn checked_add(&self, rhs: &Self) -> Option<Self>

Checked `Weight`

addition. Computes `self + rhs`

, returning `None`

if overflow occurred.

source#### pub const fn checked_sub(&self, rhs: &Self) -> Option<Self>

#### pub const fn checked_sub(&self, rhs: &Self) -> Option<Self>

Checked `Weight`

subtraction. Computes `self - rhs`

, returning `None`

if overflow
occurred.

source#### pub const fn checked_mul(self, scalar: u64) -> Option<Self>

#### pub const fn checked_mul(self, scalar: u64) -> Option<Self>

Checked `Weight`

scalar multiplication. Computes `self.field * scalar`

for each field,
returning `None`

if overflow occurred.

source#### pub const fn checked_div(self, scalar: u64) -> Option<Self>

#### pub const fn checked_div(self, scalar: u64) -> Option<Self>

Checked `Weight`

scalar division. Computes `self.field / scalar`

for each field, returning
`None`

if overflow occurred.

source#### pub const fn checked_div_per_component(self, other: &Self) -> Option<u64>

#### pub const fn checked_div_per_component(self, other: &Self) -> Option<u64>

Calculates how many `other`

fit into `self`

.

Divides each component of `self`

against the same component of `other`

. Returns the minimum
of all those divisions. Returns `None`

in case **all** components of `other`

are zero.

This returns `Some`

even if some components of `other`

are zero as long as there is at least
one non-zero component in `other`

. The division for this particular component will then
yield the maximum value (e.g u64::MAX). This is because we assume not every operation and
hence each `Weight`

will necessarily use each resource.

source#### pub fn checked_accrue(&mut self, amount: Self) -> Option<()>

#### pub fn checked_accrue(&mut self, amount: Self) -> Option<()>

Try to increase `self`

by `amount`

via checked addition.

source#### pub fn checked_reduce(&mut self, amount: Self) -> Option<()>

#### pub fn checked_reduce(&mut self, amount: Self) -> Option<()>

Try to reduce `self`

by `amount`

via checked subtraction.

source#### pub const fn add_ref_time(self, scalar: u64) -> Self

#### pub const fn add_ref_time(self, scalar: u64) -> Self

Constant version of Add for `ref_time`

component with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn add_proof_size(self, scalar: u64) -> Self

#### pub const fn add_proof_size(self, scalar: u64) -> Self

Constant version of Add for `proof_size`

component with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn sub_ref_time(self, scalar: u64) -> Self

#### pub const fn sub_ref_time(self, scalar: u64) -> Self

Constant version of Sub for `ref_time`

component with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn sub_proof_size(self, scalar: u64) -> Self

#### pub const fn sub_proof_size(self, scalar: u64) -> Self

Constant version of Sub for `proof_size`

component with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn div(self, scalar: u64) -> Self

#### pub const fn div(self, scalar: u64) -> Self

Constant version of Div with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn mul(self, scalar: u64) -> Self

#### pub const fn mul(self, scalar: u64) -> Self

Constant version of Mul with u64.

Is only overflow safe when evaluated at compile-time.

source#### pub const fn any_gt(self, other: Self) -> bool

#### pub const fn any_gt(self, other: Self) -> bool

Returns true if any of `self`

’s constituent weights is strictly greater than that of the
`other`

’s, otherwise returns false.

source#### pub const fn all_gt(self, other: Self) -> bool

#### pub const fn all_gt(self, other: Self) -> bool

Returns true if all of `self`

’s constituent weights is strictly greater than that of the
`other`

’s, otherwise returns false.

source#### pub const fn any_lt(self, other: Self) -> bool

#### pub const fn any_lt(self, other: Self) -> bool

Returns true if any of `self`

’s constituent weights is strictly less than that of the
`other`

’s, otherwise returns false.

source#### pub const fn all_lt(self, other: Self) -> bool

#### pub const fn all_lt(self, other: Self) -> bool

Returns true if all of `self`

’s constituent weights is strictly less than that of the
`other`

’s, otherwise returns false.

source#### pub const fn any_gte(self, other: Self) -> bool

#### pub const fn any_gte(self, other: Self) -> bool

Returns true if any of `self`

’s constituent weights is greater than or equal to that of the
`other`

’s, otherwise returns false.

source#### pub const fn all_gte(self, other: Self) -> bool

#### pub const fn all_gte(self, other: Self) -> bool

Returns true if all of `self`

’s constituent weights is greater than or equal to that of the
`other`

’s, otherwise returns false.

source#### pub const fn any_lte(self, other: Self) -> bool

#### pub const fn any_lte(self, other: Self) -> bool

Returns true if any of `self`

’s constituent weights is less than or equal to that of the
`other`

’s, otherwise returns false.

## Trait Implementations§

source§### impl AddAssign<Weight> for Weight

### impl AddAssign<Weight> for Weight

source§#### fn add_assign(&mut self, other: Self)

#### fn add_assign(&mut self, other: Self)

`+=`

operation. Read moresource§### impl CheckedAdd for Weight

### impl CheckedAdd for Weight

source§#### fn checked_add(&self, rhs: &Self) -> Option<Self>

#### fn checked_add(&self, rhs: &Self) -> Option<Self>

`None`

is
returned.source§### impl CheckedSub for Weight

### impl CheckedSub for Weight

source§#### fn checked_sub(&self, rhs: &Self) -> Option<Self>

#### fn checked_sub(&self, rhs: &Self) -> Option<Self>

`None`

is returned.source§### impl Decode for Weight

### impl Decode for Weight

source§#### fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>

#### fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

§#### fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,

#### fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, 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>

source§### impl<'de> Deserialize<'de> for Weight

### impl<'de> Deserialize<'de> for Weight

source§#### fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,

#### fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

source§### impl Encode for Weight

### impl Encode for Weight

source§#### fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)

#### fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

§#### fn 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

source§### impl MaxEncodedLen for Weight

### impl MaxEncodedLen for Weight

source§#### fn max_encoded_len() -> usize

#### fn max_encoded_len() -> usize

source§### impl Mul<Weight> for Perquintill

### impl Mul<Weight> for Perquintill

source§### impl PartialEq<Weight> for Weight

### impl PartialEq<Weight> for Weight

source§### impl SubAssign<Weight> for Weight

### impl SubAssign<Weight> for Weight

source§#### fn sub_assign(&mut self, other: Self)

#### fn sub_assign(&mut self, other: Self)

`-=`

operation. Read more### impl Copy for Weight

### impl EncodeLike<Weight> for Weight

### impl Eq for Weight

### impl StructuralEq for Weight

### impl StructuralPartialEq for Weight

## Auto Trait Implementations§

### impl RefUnwindSafe for Weight

### impl Send for Weight

### impl Sync for Weight

### impl Unpin for Weight

### impl UnwindSafe for Weight

## Blanket Implementations§

§### 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 more§### impl<T> DecodeLimit for Twhere
T: Decode,

### impl<T> DecodeLimit for Twhere T: Decode,

source§### 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,

source§#### fn 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

source§### impl<T> Instrument for T

### impl<T> Instrument for T

source§#### fn instrument(self, span: Span) -> Instrumented<Self>

#### fn instrument(self, span: Span) -> Instrumented<Self>

source§#### fn in_current_span(self) -> Instrumented<Self>

#### fn in_current_span(self) -> Instrumented<Self>

source§### impl<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>,

§### impl<T> KeyedVec for Twhere
T: Codec,

### impl<T> KeyedVec for Twhere T: Codec,

source§### impl<T> LowerBounded for Twhere
T: Bounded,

### impl<T> LowerBounded for Twhere T: Bounded,

§### impl<T> Pointable for T

### impl<T> Pointable for T

source§### impl<T> SaturatedConversion for T

### impl<T> SaturatedConversion for T

source§#### fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,

#### fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

source§#### fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,

#### fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

`T`

. Read moresource§### impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,

### impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

source§#### fn unchecked_into(self) -> T

#### fn unchecked_into(self) -> T

`unchecked_from`

.source§### impl<T, S> UniqueSaturatedFrom<T> for Swhere
S: TryFrom<T> + Bounded,

### impl<T, S> UniqueSaturatedFrom<T> for Swhere S: TryFrom<T> + Bounded,

source§#### fn unique_saturated_from(t: T) -> S

#### fn unique_saturated_from(t: T) -> S

`T`

into an equivalent instance of `Self`

.source§### impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,

### impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

source§#### fn unique_saturated_into(self) -> T

#### fn unique_saturated_into(self) -> T

`T`

.