Crate fricgan [] [src]

fricgan is an input/output library for byte based manipulations, without requiring std. It has additional features (where std is enabled), but the core feature set is designed to provide the minimal types and support for cross-language IO work.

At this time it does not implement byte order manipulation, as the std primitives for the integral types support swap_bytes, {to,from}_be, and {to,from}_le. (If you are implementing without std then presumably you already know how to do this, and understand why it would just clutter this library up).

Traits

FricganString

FricganString defines the string interface of fio_string_read and fio_string_write. By default it is implemented for String, though it can theoretically work on any container class.

IO

IO is a simple input/output that operates on bytes. It isn't designed to be fancy, it's just designed to be fast. There is likely room for improvement, but for now the implementations work and provide fairly great speed.

VLQ

VLQ is Variable Length Quantity, which, in this context, provides vlq read/write values to the underlying value.

VLQString

VLQString is the trait for defining VLQ-indexed strings in storage. Fricgan provides a generic VLQString implementation for String, allowing either u32 or u64 to be passed into it (depending on what is enabled in the features, or what is implemented externally).

Functions

fio_read

Perform a std::io::Read operation on a fio typed value.

fio_write

Performs a std::io::Write operation on a fio typed value.