Struct Gas
pub struct Gas { /* private fields */ }Implementations§
§impl NearGas
impl NearGas
pub const fn from_pgas(inner: u64) -> NearGas
pub const fn from_pgas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole peta Gas.
§Examples
use near_gas::NearGas;
let tera_gas = NearGas::from_pgas(1);
assert_eq!(tera_gas.as_gas(), 1_000_000_000_000_000);pub const fn from_tgas(inner: u64) -> NearGas
pub const fn from_tgas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole tera Gas.
§Examples
use near_gas::NearGas;
let tera_gas = NearGas::from_tgas(5);
assert_eq!(tera_gas.as_gas(), 5 * 1_000_000_000_000);pub const fn from_ggas(inner: u64) -> NearGas
pub const fn from_ggas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole giga Gas.
§Examples
use near_gas::NearGas;
let giga_gas = NearGas::from_ggas(5);
assert_eq!(giga_gas.as_gas(), 5 * 1_000_000_000);pub const fn from_gas(inner: u64) -> NearGas
pub const fn from_gas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole Gas.
§Examples
use near_gas::NearGas;
let gas = NearGas::from_gas(5 * 1_000_000_000_000);
assert_eq!(gas.as_tgas(), 5);pub const fn is_zero(&self) -> bool
pub const fn is_zero(&self) -> bool
Returns whether the gas value is zero.
§Examples
assert!(NearGas::from_gas(0).is_zero());
assert!(!NearGas::from_gas(1).is_zero());pub const fn as_gas(self) -> u64
pub const fn as_gas(self) -> u64
Returns the total number of whole Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(12345);
assert_eq!(neargas.as_gas(), 12345);pub const fn as_ggas(self) -> u64
pub const fn as_ggas(self) -> u64
Returns the total number of a whole part of giga Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(1 * 1_000_000_000);
assert_eq!(neargas.as_ggas(), 1);pub const fn as_tgas(self) -> u64
pub const fn as_tgas(self) -> u64
Returns the total number of a whole part of tera Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(1 * 1_000_000_000_000);
assert_eq!(neargas.as_tgas(), 1);pub const fn as_pgas(self) -> u64
pub const fn as_pgas(self) -> u64
Returns the total number of a whole part of peta Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(1 * 1_000_000_000_000_000);
assert_eq!(neargas.as_pgas(), 1);pub const fn checked_add(self, rhs: NearGas) -> Option<NearGas>
pub const fn checked_add(self, rhs: NearGas) -> Option<NearGas>
Checked integer addition. Computes self + rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(u64::MAX -2).checked_add(NearGas::from_gas(2)), Some(NearGas::from_gas(u64::MAX)));
assert_eq!(NearGas::from_gas(u64::MAX -2).checked_add(NearGas::from_gas(3)), None);pub const fn checked_sub(self, rhs: NearGas) -> Option<NearGas>
pub const fn checked_sub(self, rhs: NearGas) -> Option<NearGas>
Checked integer subtraction. Computes self - rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(2).checked_sub(NearGas::from_gas(2)), Some(NearGas::from_gas(0)));
assert_eq!(NearGas::from_gas(2).checked_sub(NearGas::from_gas(3)), None);pub const fn checked_mul(self, rhs: u64) -> Option<NearGas>
pub const fn checked_mul(self, rhs: u64) -> Option<NearGas>
Checked integer multiplication. Computes self * rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(2).checked_mul(2), Some(NearGas::from_gas(4)));
assert_eq!(NearGas::from_gas(u64::MAX).checked_mul(2), None)pub const fn checked_div(self, rhs: u64) -> Option<NearGas>
pub const fn checked_div(self, rhs: u64) -> Option<NearGas>
Checked integer division. Computes self / rhs, returning None if rhs == 0.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(10).checked_div(2), Some(NearGas::from_gas(5)));
assert_eq!(NearGas::from_gas(2).checked_div(0), None);pub const fn saturating_add(self, rhs: NearGas) -> NearGas
pub const fn saturating_add(self, rhs: NearGas) -> NearGas
Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(5).saturating_add(NearGas::from_gas(5)), NearGas::from_gas(10));
assert_eq!(NearGas::from_gas(u64::MAX).saturating_add(NearGas::from_gas(1)), NearGas::from_gas(u64::MAX));pub const fn saturating_sub(self, rhs: NearGas) -> NearGas
pub const fn saturating_sub(self, rhs: NearGas) -> NearGas
Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(5).saturating_sub(NearGas::from_gas(2)), NearGas::from_gas(3));
assert_eq!(NearGas::from_gas(1).saturating_sub(NearGas::from_gas(2)), NearGas::from_gas(0));pub const fn saturating_mul(self, rhs: u64) -> NearGas
pub const fn saturating_mul(self, rhs: u64) -> NearGas
Saturating integer multiplication. Computes self * rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(2).saturating_mul(5), NearGas::from_gas(10));
assert_eq!(NearGas::from_gas(u64::MAX).saturating_mul(2), NearGas::from_gas(u64::MAX));pub const fn saturating_div(self, rhs: u64) -> NearGas
pub const fn saturating_div(self, rhs: u64) -> NearGas
Saturating integer division. Computes self / rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(10).saturating_div(2), NearGas::from_gas(5));
assert_eq!(NearGas::from_gas(10).saturating_div(0), NearGas::from_gas(0))Trait Implementations§
§impl<'arbitrary> Arbitrary<'arbitrary> for NearGas
impl<'arbitrary> Arbitrary<'arbitrary> for NearGas
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<NearGas, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<NearGas, Error>
Self from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<NearGas, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<NearGas, Error>
Self from the entirety of the given
unstructured data. Read more§impl BorshDeserialize for NearGas
impl BorshDeserialize for NearGas
fn deserialize_reader<__R>(reader: &mut __R) -> Result<NearGas, Error>where
__R: Read,
§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
§impl BorshSchema for NearGas
impl BorshSchema for NearGas
§fn declaration() -> String
fn declaration() -> String
§fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
fn add_definitions_recursively(definitions: &mut BTreeMap<String, Definition>)
§impl<'de> Deserialize<'de> for NearGas
impl<'de> Deserialize<'de> for NearGas
§fn deserialize<D>(
deserializer: D,
) -> Result<NearGas, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<NearGas, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for NearGas
NearGas Display implementation rounds up the gas usage to the relevant precision point.
There are 4 breakpoints:
impl Display for NearGas
NearGas Display implementation rounds up the gas usage to the relevant precision point. There are 4 breakpoints:
- exactly 0 Tgas
- <0.001 Tgas
- 0.001 - 0.999 Tgas (uses 3 digits after the floating point)
-
1 Tgas (uses 1 digit after the floating point)
§impl JsonSchema for NearGas
Available on crate feature schemars-v0_8 only.
impl JsonSchema for NearGas
schemars-v0_8 only.§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more§fn schema_name() -> String
fn schema_name() -> String
§fn json_schema(_: &mut SchemaGenerator) -> Schema
fn json_schema(_: &mut SchemaGenerator) -> Schema
§impl Ord for NearGas
impl Ord for NearGas
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialOrd for NearGas
impl PartialOrd for NearGas
§impl Serialize for NearGas
impl Serialize for NearGas
§fn 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,
impl Copy for NearGas
impl Eq for NearGas
impl StructuralPartialEq for NearGas
Auto Trait Implementations§
impl Freeze for NearGas
impl RefUnwindSafe for NearGas
impl Send for NearGas
impl Sync for NearGas
impl Unpin for NearGas
impl UnsafeUnpin for NearGas
impl UnwindSafe for NearGas
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<T> BitPackWrapAsExt for T
impl<T> BitPackWrapAsExt for T
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
§impl<T> CellSerializeWrapAsExt for T
impl<T> CellSerializeWrapAsExt for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.