pub struct Size {
pub(crate) raw: u64,
}
Expand description
Size of a type in bytes.
Fields§
§raw: u64
Implementations§
source§impl Size
impl Size
pub const ZERO: Size = _
sourcepub fn from_bits(bits: impl TryInto<u64>) -> Size
pub fn from_bits(bits: impl TryInto<u64>) -> Size
Rounds bits
up to the next-higher byte boundary, if bits
is
not a multiple of 8.
pub fn from_bytes(bytes: impl TryInto<u64>) -> Size
pub fn bytes(self) -> u64
pub fn bytes_usize(self) -> usize
pub fn bits(self) -> u64
pub fn bits_usize(self) -> usize
pub fn align_to(self, align: Align) -> Size
pub fn is_aligned(self, align: Align) -> bool
pub fn checked_add<C: HasDataLayout>(self, offset: Size, cx: &C) -> Option<Size>
pub fn checked_mul<C: HasDataLayout>(self, count: u64, cx: &C) -> Option<Size>
sourcepub fn sign_extend(self, value: u128) -> u128
pub fn sign_extend(self, value: u128) -> u128
Truncates value
to self
bits and then sign-extends it to 128 bits
(i.e., if it is negative, fill with 1’s on the left).
pub fn signed_int_min(&self) -> i128
pub fn signed_int_max(&self) -> i128
pub fn unsigned_int_max(&self) -> u128
Trait Implementations§
source§impl AddAssign<Size> for Size
impl AddAssign<Size> for Size
source§fn add_assign(&mut self, other: Size)
fn add_assign(&mut self, other: Size)
Performs the
+=
operation. Read moresource§impl<__CTX> HashStable<__CTX> for Sizewhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for Sizewhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
source§impl Ord for Size
impl Ord for Size
source§impl PartialOrd<Size> for Size
impl PartialOrd<Size> for Size
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Step for Size
impl Step for Size
source§fn steps_between(start: &Self, end: &Self) -> Option<usize>
fn steps_between(start: &Self, end: &Self) -> Option<usize>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward_checked(start: Self, count: usize) -> Option<Self>
fn forward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward(start: Self, count: usize) -> Self
fn forward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn forward_unchecked(start: Self, count: usize) -> Self
unsafe fn forward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward_checked(start: Self, count: usize) -> Option<Self>
fn backward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward(start: Self, count: usize) -> Self
fn backward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn backward_unchecked(start: Self, count: usize) -> Self
unsafe fn backward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)impl Copy for Size
impl Eq for Size
impl StableOrd for Size
impl StructuralEq for Size
impl StructuralPartialEq for Size
Auto Trait Implementations§
impl RefUnwindSafe for Size
impl Send for Size
impl Sync for Size
impl Unpin for Size
impl UnwindSafe for Size
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes