pub struct Byte(_);Expand description
Represent the n-bytes data. Use associated functions: from_unit, from_bytes, from_str, to create the instance.
Implementations
sourceimpl Byte
impl Byte
sourcepub fn from_unit(value: f64, unit: ByteUnit) -> Result<Byte, ByteError>
pub fn from_unit(value: f64, unit: ByteUnit) -> Result<Byte, ByteError>
Create a new Byte object from a specified value and a unit. Accuracy should be taken care of.
Examples
use byte_unit::{Byte, ByteUnit};
let result = Byte::from_unit(1500f64, ByteUnit::KB).unwrap();
assert_eq!(1500000, result.get_bytes());sourcepub const fn from_bytes(bytes: u128) -> Byte
pub const fn from_bytes(bytes: u128) -> Byte
Create a new Byte object from bytes.
Examples
use byte_unit::{Byte, ByteUnit};
let result = Byte::from_bytes(1500000);
assert_eq!(1500000, result.get_bytes());sourcepub fn from_str<S: AsRef<str>>(s: S) -> Result<Byte, ByteError>
pub fn from_str<S: AsRef<str>>(s: S) -> Result<Byte, ByteError>
Create a new Byte object from string. Accuracy should be taken care of.
Examples
use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("123KiB").unwrap();
assert_eq!(Byte::from_unit(123f64, ByteUnit::KiB).unwrap(), result);use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("50.84 MB").unwrap();
assert_eq!(Byte::from_unit(50.84f64, ByteUnit::MB).unwrap(), result);use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8 B").unwrap(); // 8 bytes
assert_eq!(8, result.get_bytes());use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8").unwrap(); // 8 bytes
assert_eq!(8, result.get_bytes());use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8 b").unwrap(); // 8 bytes
assert_eq!(8, result.get_bytes());use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8 kb").unwrap(); // 8 kilobytes
assert_eq!(8000, result.get_bytes());use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8 kib").unwrap(); // 8 kibibytes
assert_eq!(8192, result.get_bytes());use byte_unit::{Byte, ByteUnit};
let result = Byte::from_str("8 k").unwrap(); // 8 kilobytes
assert_eq!(8000, result.get_bytes());sourceimpl Byte
impl Byte
sourcepub const fn get_bytes(&self) -> u128
pub const fn get_bytes(&self) -> u128
Get bytes represented by a Byte object.
Examples
use byte_unit::Byte;
let byte = Byte::from_str("123KiB").unwrap();
let result = byte.get_bytes();
assert_eq!(125952, result);use byte_unit::Byte;
let byte = Byte::from_str("50.84 MB").unwrap();
let result = byte.get_bytes();
assert_eq!(50840000, result);sourcepub fn get_adjusted_unit(&self, unit: ByteUnit) -> AdjustedByte
pub fn get_adjusted_unit(&self, unit: ByteUnit) -> AdjustedByte
Adjust the unit and value for Byte object. Accuracy should be taken care of.
Examples
use byte_unit::{Byte, ByteUnit};
let byte = Byte::from_str("123KiB").unwrap();
let adjusted_byte = byte.get_adjusted_unit(ByteUnit::KB);
assert_eq!("125.95 KB", adjusted_byte.to_string());use byte_unit::{Byte, ByteUnit};
let byte = Byte::from_str("50.84 MB").unwrap();
let adjusted_byte = byte.get_adjusted_unit(ByteUnit::MiB);
assert_eq!("48.48 MiB", adjusted_byte.to_string());sourcepub fn get_appropriate_unit(&self, binary_multiples: bool) -> AdjustedByte
pub fn get_appropriate_unit(&self, binary_multiples: bool) -> AdjustedByte
Find the appropriate unit and value for Byte object. Accuracy should be taken care of.
Examples
use byte_unit::Byte;
let byte = Byte::from_str("123KiB").unwrap();
let adjusted_byte = byte.get_appropriate_unit(false);
assert_eq!("125.95 KB", adjusted_byte.to_string());use byte_unit::Byte;
let byte = Byte::from_str("50.84 MB").unwrap();
let adjusted_byte = byte.get_appropriate_unit(true);
assert_eq!("48.48 MiB", adjusted_byte.to_string());Trait Implementations
sourceimpl From<AdjustedByte> for Byte
impl From<AdjustedByte> for Byte
sourcefn from(other: AdjustedByte) -> Byte
fn from(other: AdjustedByte) -> Byte
Performs the conversion.
sourceimpl Ord for Byte
impl Ord for Byte
sourceimpl PartialOrd<Byte> for Byte
impl PartialOrd<Byte> for Byte
sourcefn partial_cmp(&self, other: &Byte) -> Option<Ordering>
fn partial_cmp(&self, other: &Byte) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn 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 more
impl Copy for Byte
impl Eq for Byte
impl StructuralEq for Byte
impl StructuralPartialEq for Byte
Auto Trait Implementations
impl RefUnwindSafe for Byte
impl Send for Byte
impl Sync for Byte
impl Unpin for Byte
impl UnwindSafe for Byte
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more