TriloByte
is a data-structure representing 3
bits, primarily
designed for representing masks and the 3
role permissions of
unix files (user, group and other).
For example, a unix file with mode 007
can be represented with
3
trilobytes:
use trilobyte::TriloByte;
let trilobytes = [
TriloByte(false, false, false),
TriloByte(false, false, false),
TriloByte(true, true, true),
];
let mode = trilobytes.iter().map(|t| t.to_string_octal()).collect::<String>();
assert_eq!(mode, "007");