Crate simplebyteunit
source ·Expand description
A thin encapsulate for integer primitives to facilitate a fast, simple, yet ergonomic byteunit implementation.
Getting Started
Add ‘simplebyteunit’ to your ‘Cargo.toml’:
[dependencies]
simplebyteunit = "0.1.0"
Example
Generate a human-readable, formatted ByteUnit:
use simplebyteunit::simplebyteunit::*;
let byteunit_var = 500000.to_byteunit(SI);
println!("{byteunit_var}");
Output:
500 KB
Parsing strings into ByteUnits
And then you can parse formatted strings back into a ByteUnit
use simplebyteunit::simplebyteunit::*;
let byteunit_var: ByteUnit<i64> = "500 KB".into();
println!("{byteunit_var}");
Output:
500 KB
Simple arithmetic operations
Addition, subtraction, multiplication, subtraction, and division are supported on this type.
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = ByteUnit::SI(5000000);
let b: ByteUnit<i64> = ByteUnit::SI(5000000);
let byteunit_sum = a + b;
println!("{byteunit_sum}");
Output:
1.0 MB
Equal/and/or operations
Equal operations are supported on this type:
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = "500 KiB".into();
let b: ByteUnit<i64> = "500 KiB".into();
let byteunit_bool = a == b;
println!("{byteunit_bool}");
Output:
true
Or operations are supported directly on this type:
use simplebyteunit::simplebyteunit::*;
let a: ByteUnit<i64> = 5000000.to_byteunit(IEC);
let b: ByteUnit<i64> = 5000000.to_byteunit(IEC);
let byteunit_bool = a >= b;
println!("{byteunit_bool}");
Output:
true
Modules
- Fast, stupid simple ByteUnit implementation