Readable
Human readable strings.
This library:
- Transforms various data types into human-readable strings
- Parses raw string data into human-readable versions
- Provides various string types and utilities
Most of the strings are implemented as fixed sized stack allocated arrays that are Copy
-able.
In general, readable
types are often used where you need to quickly format some data into a more human-friendly string, display it, then throw it away (although most readable
types are perfectly fine to permanently store).
Creation of readable
types is relatively performant.
Examples
Unsigned
use *;
assert_eq!;
Int
use *;
assert_eq!;
Float
use *;
assert_eq!;
Percent
use *;
assert_eq!;
Runtime
use *;
assert_eq!;
assert_eq!;
assert_eq!;
Uptime
use *;
assert_eq!;
assert_eq!;
assert_eq!;
Date
use *;
assert_eq!;
assert_eq!;
assert_eq!;
Time
use *;
assert_eq!;
assert_eq!;
Byte
use *;
assert_eq!;
Comparison
All number types implement PartialEq
against str
and their internal numbers.
This is comparing b
's inner String
:
use *;
let a = from_secs;
let b = from;
assert_eq!;
This is comparing a
's inner i64
:
use *;
let a = from;
assert_eq!;
This compares both the u64
AND String
inside a
and b
:
use *;
let a = from;
let b = from;
assert_eq!;
Arithmetic
All number types implement the common arithmetic operators +
, -
, /
, *
, %
, outputting a new Self
.
+
Addition
use *;
let f1 = from;
let f2 = from;
assert_eq!;
-
Subtraction
use *;
let p50 = from;
let p25 = from;
assert_eq!;
/
Division
use *;
let u100 = from;
let u10 = from;
assert_eq!;
*
Multiplication
use *;
let u10 = from;
assert_eq!;
%
Modulo
use *;
let u10 = from;
assert_eq!;
Feature Flags
These features are for (de)serialization.
Feature Flag | Purpose |
---|---|
serde |
Enables serde 's Serialize & Deserialize |
bincode |
Enables bincode 2.0.0-rc.3 's Encode & Decode |
borsh |
Enables borsh 's BorshSerialize & BorshDeserialize |
MSRV
The Minimum Supported Rust Version is 1.71.0
.