Expand description
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§
- Fricgan
String - FricganString defines the string interface of
fio_string_readandfio_string_write. By default it is implemented forString, 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 eitheru32oru64to be passed into it (depending on what is enabled in the features, or what is implemented externally).