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<'de> Deserialize<'de> for Byte
impl<'de> Deserialize<'de> for Byte
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<AdjustedByte> for Byte
impl From<AdjustedByte> for Byte
sourcefn from(other: AdjustedByte) -> Byte
fn from(other: AdjustedByte) -> Byte
Converts to this type from the input type.
sourceimpl Ord for Byte
impl Ord for Byte
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
Restrict a value to a certain interval. Read more
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>
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 moreimpl 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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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