pub struct Byte(_);
Expand description
Represent the n-bytes data. Use associated functions: from_unit
, from_bytes
, from_str
, to create the instance.
Implementations§
source§impl 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());
source§impl 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§
source§impl<'de> Deserialize<'de> for Byte
impl<'de> Deserialize<'de> for Byte
source§fn 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
source§impl From<AdjustedByte> for Byte
impl From<AdjustedByte> for Byte
source§fn from(other: AdjustedByte) -> Byte
fn from(other: AdjustedByte) -> Byte
Converts to this type from the input type.
source§impl Ord for Byte
impl Ord for Byte
source§impl PartialEq<Byte> for Byte
impl PartialEq<Byte> for Byte
source§impl PartialOrd<Byte> for Byte
impl PartialOrd<Byte> for Byte
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 more