pub struct Uint64(/* private fields */);
Expand description
A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.
§Examples
Use from
to create instances of this and u64
to get the value out:
let a = Uint64::from(42u64);
assert_eq!(a.u64(), 42);
let b = Uint64::from(70u32);
assert_eq!(b.u64(), 70);
Implementations§
Source§impl Uint64
impl Uint64
pub const MAX: Self
Sourcepub const fn new(value: u64) -> Self
pub const fn new(value: u64) -> Self
Creates a Uint64(value).
This method is less flexible than from
but can be called in a const context.
Sourcepub const fn to_be_bytes(self) -> [u8; 8]
pub const fn to_be_bytes(self) -> [u8; 8]
Returns a copy of the number as big endian bytes.
Sourcepub const fn to_le_bytes(self) -> [u8; 8]
pub const fn to_le_bytes(self) -> [u8; 8]
Returns a copy of the number as little endian bytes.
pub fn is_zero(&self) -> bool
pub fn checked_add(self, other: Self) -> Result<Self, OverflowError>
pub fn checked_sub(self, other: Self) -> Result<Self, OverflowError>
pub fn checked_mul(self, other: Self) -> Result<Self, OverflowError>
pub fn checked_div(self, other: Self) -> Result<Self, DivideByZeroError>
pub fn checked_div_euclid(self, other: Self) -> Result<Self, DivideByZeroError>
pub fn checked_rem(self, other: Self) -> Result<Self, DivideByZeroError>
pub fn wrapping_add(self, other: Self) -> Self
pub fn wrapping_sub(self, other: Self) -> Self
pub fn wrapping_mul(self, other: Self) -> Self
pub fn wrapping_pow(self, other: u32) -> Self
pub fn saturating_add(self, other: Self) -> Self
pub fn saturating_sub(self, other: Self) -> Self
pub fn saturating_mul(self, other: Self) -> Self
pub fn saturating_pow(self, other: u32) -> Self
Trait Implementations§
Source§impl<'a> AddAssign<&'a Uint64> for Uint64
impl<'a> AddAssign<&'a Uint64> for Uint64
Source§fn add_assign(&mut self, rhs: &'a Uint64)
fn add_assign(&mut self, rhs: &'a Uint64)
Performs the
+=
operation. Read moreSource§impl AddAssign for Uint64
impl AddAssign for Uint64
Source§fn add_assign(&mut self, rhs: Uint64)
fn add_assign(&mut self, rhs: Uint64)
Performs the
+=
operation. Read moreSource§impl<'de> Deserialize<'de> for Uint64
impl<'de> Deserialize<'de> for Uint64
Source§fn deserialize<D>(deserializer: D) -> Result<Uint64, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Uint64, D::Error>where
D: Deserializer<'de>,
Deserialized from an integer string using base 10
Source§impl<'a> DivAssign<&'a Uint64> for Uint64
impl<'a> DivAssign<&'a Uint64> for Uint64
Source§fn div_assign(&mut self, rhs: &'a Uint64)
fn div_assign(&mut self, rhs: &'a Uint64)
Performs the
/=
operation. Read moreSource§impl DivAssign for Uint64
impl DivAssign for Uint64
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Performs the
/=
operation. Read moreSource§impl JsonSchema for Uint64
impl JsonSchema for Uint64
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moreSource§impl Ord for Uint64
impl Ord for Uint64
Source§impl PartialOrd for Uint64
impl PartialOrd for Uint64
Source§impl<'a> ShrAssign<&'a u32> for Uint64
impl<'a> ShrAssign<&'a u32> for Uint64
Source§fn shr_assign(&mut self, rhs: &'a u32)
fn shr_assign(&mut self, rhs: &'a u32)
Performs the
>>=
operation. Read moreSource§impl ShrAssign<u32> for Uint64
impl ShrAssign<u32> for Uint64
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
Performs the
>>=
operation. Read moreimpl Copy for Uint64
impl Eq for Uint64
impl StructuralPartialEq for Uint64
Auto Trait Implementations§
impl Freeze for Uint64
impl RefUnwindSafe for Uint64
impl Send for Uint64
impl Sync for Uint64
impl Unpin for Uint64
impl UnwindSafe for Uint64
Blanket Implementations§
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
Mutably borrows from an owned value. Read more