[−][src]Struct ubyte::ByteUnit
A unit of bytes with saturating const
constructors and arithmetic.
Overview
A ByteUnit
represents a unit, a count, a number, of bytes. All operations
on a ByteUnit
-- constructors, arithmetic, conversions -- saturate.
Overflow, underflow, and divide-by-zero are impossible. See the top-level
documentation for more.
ToByteUnit
provides human-friendly methods on all integer types for
converting into a ByteUnit
: 512.megabytes()
.
Parsing
ByteUnit
implements FromStr
for parsing byte unit strings into a
ByteUnit
. The grammar accepted by the parser is:
byte_unit := uint+ ('.' uint+)? WHITESPACE* suffix
uint := '0'..'9'
suffix := case insensitive SI byte unit suffix ('b' to 'eib')
WHITESPACE := the ' ' character
use ubyte::{ByteUnit, ToByteUnit}; let one_gib: ByteUnit = "1GiB".parse().unwrap(); assert_eq!(one_gib, 1.gibibytes()); let quarter_mb: ByteUnit = "256 kB".parse().unwrap(); assert_eq!(quarter_mb, 256.kilobytes()); let half_mb: ByteUnit = "0.5MB".parse().unwrap(); assert_eq!(half_mb, 500.kilobytes()); let half_mib: ByteUnit = "0.500 mib".parse().unwrap(); assert_eq!(half_mib, 512.kibibytes()); let some_mb: ByteUnit = "20.5MB".parse().unwrap(); assert_eq!(some_mb, 20.megabytes() + 500.kilobytes());
(De)serialization
With the serde
feaure enabled (disabled by default), ByteUnit
implements
Deserialize
from strings, using the same
grammar as the FromStr
implementation, defined above, as well as all
integer types. The Serialize
implementation serializes into a u64
.
Example
use ubyte::{ByteUnit, ToByteUnit}; // Construct with unit-valued associated constants, `const` constructors, or // human-friendly methods from the `ToByteUnit` integer extension trait. const HALF_GB: ByteUnit = ByteUnit::Megabyte(500); const HALF_GIB: ByteUnit = ByteUnit::Mebibyte(512); let half_gb = 500 * ByteUnit::MB; let half_gib = 512 * ByteUnit::MiB; let half_gb = 500.megabytes(); let half_gib = 512.mebibytes(); // All arithmetic operations and conversions saturate. let exbibyte = ByteUnit::Exbibyte(1); let exbibyte_too_large_a = 1024 * ByteUnit::EiB; let exbibyte_too_large_b = ByteUnit::Exbibyte(1024); let exbibyte_too_large_c = 1024.exbibytes(); let div_by_zero = 1024.exbibytes() / 0; let too_small = 1000.megabytes() - 1.gibibytes(); assert_eq!(exbibyte << 4, ByteUnit::max_value()); assert_eq!(exbibyte << 10, ByteUnit::max_value()); assert_eq!(exbibyte_too_large_a, ByteUnit::max_value()); assert_eq!(exbibyte_too_large_b, ByteUnit::max_value()); assert_eq!(exbibyte_too_large_c, ByteUnit::max_value()); assert_eq!(div_by_zero, ByteUnit::max_value()); assert_eq!(too_small, 0);
Implementations
impl ByteUnit
[src]
pub const B: ByteUnit
[src]
Number of bytes in 1
B
(1
).
pub const kB: ByteUnit
[src]
Number of bytes in 1
kB
(1_000
).
pub const KiB: ByteUnit
[src]
Number of bytes in 1
KiB
(1 << 10
).
pub const MB: ByteUnit
[src]
Number of bytes in 1
MB
(1_000_000
).
pub const MiB: ByteUnit
[src]
Number of bytes in 1
MiB
(1 << 20
).
pub const GB: ByteUnit
[src]
Number of bytes in 1
GB
(1_000_000_000
).
pub const GiB: ByteUnit
[src]
Number of bytes in 1
GiB
(1 << 30
).
pub const TB: ByteUnit
[src]
Number of bytes in 1
TB
(1_000_000_000_000
).
pub const TiB: ByteUnit
[src]
Number of bytes in 1
TiB
(1 << 40
).
pub const PB: ByteUnit
[src]
Number of bytes in 1
PB
(1_000_000_000_000_000
).
pub const PiB: ByteUnit
[src]
Number of bytes in 1
PiB
(1 << 50
).
pub const EB: ByteUnit
[src]
Number of bytes in 1
EB
(1_000_000_000_000_000_000
).
pub const EiB: ByteUnit
[src]
Number of bytes in 1
EiB
(1 << 60
).
pub const fn Byte(n: u64) -> ByteUnit
[src]
pub const fn Kilobyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
kB
.
Example
assert_eq!(ByteUnit::Kilobyte(10), 10 * ByteUnit::kB);
pub const fn Kibibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
KiB
.
Example
assert_eq!(ByteUnit::Kibibyte(10), 10 * ByteUnit::KiB);
pub const fn Megabyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
MB
.
Example
assert_eq!(ByteUnit::Megabyte(10), 10 * ByteUnit::MB);
pub const fn Mebibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
MiB
.
Example
assert_eq!(ByteUnit::Mebibyte(10), 10 * ByteUnit::MiB);
pub const fn Gigabyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
GB
.
Example
assert_eq!(ByteUnit::Gigabyte(10), 10 * ByteUnit::GB);
pub const fn Gibibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
GiB
.
Example
assert_eq!(ByteUnit::Gibibyte(10), 10 * ByteUnit::GiB);
pub const fn Terabyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
TB
.
Example
assert_eq!(ByteUnit::Terabyte(10), 10 * ByteUnit::TB);
pub const fn Tebibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
TiB
.
Example
assert_eq!(ByteUnit::Tebibyte(10), 10 * ByteUnit::TiB);
pub const fn Petabyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
PB
.
Example
assert_eq!(ByteUnit::Petabyte(10), 10 * ByteUnit::PB);
pub const fn Pebibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
PiB
.
Example
assert_eq!(ByteUnit::Pebibyte(10), 10 * ByteUnit::PiB);
pub const fn Exabyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
EB
.
Example
assert_eq!(ByteUnit::Exabyte(10), 10 * ByteUnit::EB);
pub const fn Exbibyte(n: u64) -> ByteUnit
[src]
Constructs a ByteUnit
representing n
EiB
.
Example
assert_eq!(ByteUnit::Exbibyte(10), 10 * ByteUnit::EiB);
pub const fn max_value() -> ByteUnit
[src]
The maximum value of bytes representable by ByteUnit
.
Example
assert_eq!(ByteUnit::max_value(), u64::max_value());
pub const fn as_u64(self) -> u64
[src]
Returns the value of bytes represented by self
as a u64
.
Example
let int: u64 = ByteUnit::Gigabyte(4).as_u64(); assert_eq!(int, 4 * ByteUnit::GB); assert_eq!(ByteUnit::Megabyte(42).as_u64(), 42 * 1_000_000); assert_eq!(ByteUnit::Exbibyte(7).as_u64(), 7 * 1 << 60);
pub const fn as_u128(self) -> u128
[src]
Returns the value of bytes represented by self
as a u128
.
Example
let int: u128 = ByteUnit::Gigabyte(4).as_u128(); assert_eq!(int, 4 * ByteUnit::GB); assert_eq!(ByteUnit::Megabyte(42).as_u64(), 42 * 1_000_000); assert_eq!(ByteUnit::Exbibyte(7).as_u64(), 7 * 1 << 60);
pub fn repr(self) -> (u64, f64, &'static str, ByteUnit)
[src]
Returns the components of the minimal unit representation of self
.
The "minimal unit representation" is the representation that maximizes
the SI-unit while minimizing the whole part of the value. For example,
1024.bytes()
is minimally represented by 1KiB
, while 1023.bytes()
is minimally represented by 1.023kB
.
The four components returned, in tuple-order, are:
whole
- the whole part of the minimal representation.frac
- the fractional part of the minimal representation.suffix
- the suffix of the minimal representation.unit
- the1
-unit of the minimal representation.
Succinctly, this is: (whole, frac, suffix, unit)
. Observe that (whole + frac) * unit
reconstructs the original value.
Example
use ubyte::{ByteUnit, ToByteUnit}; let value = 2.mebibytes() + 512.kibibytes(); assert_eq!(value.to_string(), "2.50MiB"); let (whole, frac, suffix, unit) = value.repr(); assert_eq!(whole, 2); assert_eq!(frac, 0.5); assert_eq!(suffix, "MiB"); assert_eq!(unit, ByteUnit::MiB); let reconstructed = (whole as f64 + frac) * unit.as_u64() as f64; assert_eq!(reconstructed as u64, value);
Trait Implementations
impl Add<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl Add<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the +
operator.
fn add(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Add<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the +
operator.
fn add(self, rhs: T) -> Self::Output
[src]
impl Clone for ByteUnit
[src]
fn clone(&self) -> ByteUnit
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ByteUnit
[src]
impl Debug for ByteUnit
[src]
impl Display for ByteUnit
[src]
Display self
as best as possible. For perfectly custom display output,
consider using ByteUnit::repr()
.
Example
use ubyte::{ByteUnit, ToByteUnit}; assert_eq!(323.kilobytes().to_string(), "323kB"); assert_eq!(3.megabytes().to_string(), "3MB"); assert_eq!(3.mebibytes().to_string(), "3MiB"); assert_eq!((3.mebibytes() + 140.kilobytes()).to_string(), "3.13MiB"); assert_eq!((3.mebibytes() + 2.mebibytes()).to_string(), "5MiB"); assert_eq!((7.gigabytes() + 58.mebibytes() + 3.kilobytes()).to_string(), "7.06GB"); assert_eq!((7.gibibytes() + 920.mebibytes()).to_string(), "7.90GiB"); assert_eq!(7231.kilobytes().to_string(), "6.90MiB"); assert_eq!(format!("{:.0}", 7.gibibytes() + 920.mebibytes()), "8GiB"); assert_eq!(format!("{:.1}", 7.gibibytes() + 920.mebibytes()), "7.9GiB"); assert_eq!(format!("{:.2}", 7.gibibytes() + 920.mebibytes()), "7.90GiB"); assert_eq!(format!("{:.3}", 7.gibibytes() + 920.mebibytes()), "7.898GiB"); assert_eq!(format!("{:.4}", 7.gibibytes() + 920.mebibytes()), "7.8984GiB"); assert_eq!(format!("{:.4}", 7231.kilobytes()), "6.8960MiB"); assert_eq!(format!("{:.0}", 7231.kilobytes()), "7MiB"); assert_eq!(format!("{:.2}", 999.kilobytes() + 990.bytes()), "976.55KiB"); assert_eq!(format!("{:.0}", 999.kilobytes() + 990.bytes()), "1MB"); assert_eq!(format!("{:04.2}", 999.kilobytes() + 990.bytes()), "0976.55KiB"); assert_eq!(format!("{:02.0}", 999.kilobytes() + 990.bytes()), "01MB"); assert_eq!(format!("{:04.0}", 999.kilobytes() + 990.bytes()), "0001MB");
impl Div<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl Div<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the /
operator.
fn div(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Div<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the /
operator.
fn div(self, rhs: T) -> Self::Output
[src]
impl Eq for ByteUnit
[src]
impl From<ByteUnit> for u64
[src]
impl From<ByteUnit> for u128
[src]
impl From<i128> for ByteUnit
[src]
impl From<i16> for ByteUnit
[src]
impl From<i32> for ByteUnit
[src]
impl From<i64> for ByteUnit
[src]
impl From<i8> for ByteUnit
[src]
impl From<isize> for ByteUnit
[src]
impl From<u128> for ByteUnit
[src]
impl From<u16> for ByteUnit
[src]
impl From<u32> for ByteUnit
[src]
impl From<u64> for ByteUnit
[src]
impl From<u8> for ByteUnit
[src]
impl From<usize> for ByteUnit
[src]
impl FromStr for ByteUnit
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
impl Hash for ByteUnit
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Mul<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl Mul<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the *
operator.
fn mul(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Mul<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: T) -> Self::Output
[src]
impl Ord for ByteUnit
[src]
fn cmp(&self, other: &ByteUnit) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<ByteUnit> for usize
[src]
impl PartialEq<ByteUnit> for u8
[src]
impl PartialEq<ByteUnit> for i64
[src]
impl PartialEq<ByteUnit> for i128
[src]
impl PartialEq<ByteUnit> for u16
[src]
impl PartialEq<ByteUnit> for u32
[src]
impl PartialEq<ByteUnit> for u64
[src]
impl PartialEq<ByteUnit> for u128
[src]
impl PartialEq<ByteUnit> for isize
[src]
impl PartialEq<ByteUnit> for i8
[src]
impl PartialEq<ByteUnit> for i16
[src]
impl PartialEq<ByteUnit> for i32
[src]
impl<T: Into<ByteUnit> + Copy> PartialEq<T> for ByteUnit
[src]
impl PartialOrd<ByteUnit> for usize
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for u8
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for i64
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for i128
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for u16
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for u32
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for u64
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for u128
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for isize
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for i8
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for i16
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<ByteUnit> for i32
[src]
fn partial_cmp(&self, other: &ByteUnit) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T: Into<ByteUnit> + Copy> PartialOrd<T> for ByteUnit
[src]
fn partial_cmp(&self, other: &T) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Rem<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl Rem<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the %
operator.
fn rem(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Rem<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the %
operator.
fn rem(self, rhs: T) -> Self::Output
[src]
impl Shl<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shl<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the <<
operator.
fn shl(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Shl<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, rhs: T) -> Self::Output
[src]
impl Shr<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl Shr<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the >>
operator.
fn shr(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Shr<T> for ByteUnit
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, rhs: T) -> Self::Output
[src]
impl StructuralEq for ByteUnit
[src]
impl Sub<ByteUnit> for usize
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for u8
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for i64
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for i128
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for u16
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for u32
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for u64
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for u128
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for isize
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for i8
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for i16
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl Sub<ByteUnit> for i32
[src]
type Output = ByteUnit
The resulting type after applying the -
operator.
fn sub(self, rhs: ByteUnit) -> Self::Output
[src]
impl<T: Into<ByteUnit>> Sub<T> for ByteUnit
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,