Struct shadow_drive_sdk::Byte
source · 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>(s: S) -> Result<Byte, ByteError>where
S: AsRef<str>,
pub fn from_str<S>(s: S) -> Result<Byte, ByteError>where S: AsRef<str>,
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 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 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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.