Cargo Features

Fricgan has no features set by default.

[dependencies]
fricgan = { version = "0.1.0", features = ["safety-checks", "unsafe", "std", "io-i8", "io-i16", "io-i32", "io-i64", "io-u8", "io-u16", "io-u32", "io-u64", "io-f32", "io-f64", "io-string", "vlq", "vlq-32", "vlq-64", "vlq-string"] }
safety-checks

asserts for bad fio_read and fio_write.
Used to keep the unsafe version somewhat safe.

unsafe

Unsafe enables copy_nonoverlapping

std io-string? vlq-string?

std enables std usage (required for strings)

Affects fricgan::fio_read, fricgan::fio_write

io-i8

i8 (single signed byte) read/write.

io-i16

u16 (two signed bytes) read/write.

io-i32

u32 (four signed bytes) read/write.

io-i64

u64 (eight signed bytes) read/write.

io-u8

u8 (single unsigned byte) read/write.

io-u16

u16 (two unsigned bytes) read/write.

io-u32

u32 (four unsigned bytes) read/write.

io-u64

u64 (eight unsigned bytes) read/write.

io-f32

f32

io-f64

f64

io-string = num-traits, std

u8 length with a string that follows.

Enables std of num-traits

Affects fricgan::FricganString

vlq vlq-32? vlq-64? vlq-string?

vlq support

Affects fricgan::VLQ

vlq-32 = vlq

7 bits of value, per byte;
1 bit marking continuation.
Maximum size 35 bits (32 bits actual)

vlq-64 = vlq

7 bits of value, per byte;
1 bit marking continuation
Maximum size 71 bits (64 bits actual)

vlq-string = num-traits, std, vlq

vlq length with a string that follows.
The null byte is not counted as part of the length.

Enables std of num-traits

Affects fricgan::VLQString

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

num-traits io-string? vlq-string?