Struct byte_unit::Byte

source ·
pub struct Byte(_);
Expand description

Represent the n-bytes data. Use associated functions: from_unit, from_bytes, from_string, to create the instance.

Implementations

Create a new Byte object from a specified value and a unit. Accuracy should be taken care of.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let result = Byte::from_unit(1500f64, ByteUnit::KB).unwrap();

assert_eq!(result.get_bytes(), 1500000u128);

Create a new Byte object from bytes.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let result = Byte::from_bytes(1500000u128);

assert_eq!(result.get_bytes(), 1500000u128);

Create a new Byte object from string. Accuracy should be taken care of.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let result = Byte::from_string("123KiB").unwrap();

assert_eq!(result, Byte::from_unit(123f64, ByteUnit::KiB).unwrap());
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let result = Byte::from_string("50.84 MB").unwrap();

assert_eq!(result, Byte::from_unit(50.84f64, ByteUnit::MB).unwrap());
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let result = Byte::from_string("8 b").unwrap(); // 8 bits

assert_eq!(result.get_bytes(), 1u128);

Get bytes represented by a Byte object.

Examples
extern crate byte_unit;

use byte_unit::Byte;

let byte = Byte::from_string("123KiB").unwrap();

let result = byte.get_bytes();

assert_eq!(result, 125952);
extern crate byte_unit;

use byte_unit::Byte;

let byte = Byte::from_string("50.84 MB").unwrap();

let result = byte.get_bytes();

assert_eq!(result, 50840000);

Find the appropriate unit and value for Byte object. Accuracy should be taken care of.

Examples
extern crate byte_unit;

use byte_unit::Byte;

let byte = Byte::from_string("123KiB").unwrap();

let adjusted_byte = byte.get_appropriate_unit(false);

assert_eq!(adjusted_byte.to_string(), "125.95 KB");
extern crate byte_unit;

use byte_unit::Byte;

let byte = Byte::from_string("50.84 MB").unwrap();

let adjusted_byte = byte.get_appropriate_unit(true);

assert_eq!(adjusted_byte.to_string(), "48.48 MiB");

Adjust the unit and value for Byte object. Accuracy should be taken care of.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let byte = Byte::from_string("123KiB").unwrap();

let adjusted_byte = byte.get_adjusted_unit(ByteUnit::KB);

assert_eq!(adjusted_byte.to_string(), "125.95 KB");
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let byte = Byte::from_string("50.84 MB").unwrap();

let adjusted_byte = byte.get_adjusted_unit(ByteUnit::MiB);

assert_eq!(adjusted_byte.to_string(), "48.48 MiB");

Trait Implementations

Formats the value using the given formatter. Read more

Deal with the logical numeric equivalent.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let byte1 = Byte::from_unit(1024f64, ByteUnit::KiB).unwrap();
let byte2 = Byte::from_unit(1024f64, ByteUnit::KiB).unwrap();

assert_eq!(byte1, byte2);
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let byte1 = Byte::from_unit(1024f64, ByteUnit::KiB).unwrap();
let byte2 = Byte::from_unit(1f64, ByteUnit::MiB).unwrap();

assert_eq!(byte1, byte2);
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Format the Byte object to bytes as string.

Examples
extern crate byte_unit;

use byte_unit::{Byte, ByteUnit};

let byte = Byte::from_unit(1500f64, ByteUnit::KB).unwrap();

let result = byte.to_string();

assert_eq!(result, "1500000");

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.