This crate provides more generic alternatives to
std::io::* traits and types.
suffers several issues because of over-use of
std::io::Error type. One of them is allocation
Error type, other is inability to cleanly define errors which make sense in
particular implementation, impossibility of use in
no_std environments and more.
To solve these problems,
genio::Write and other traits are allowed to define
their own error types. Together with other utilities and
std glue they provide a way to write
more clear, portable and re-usable code.
Contains traits and impls for buffering.
Error types and various operations on them.
This module contains various extension traits.
This module contains glue
This module contains various generic utilities related to IO.
This trait is similar to slow one. The difference is that thanks to reader guaranteeing correctness, this one can use uninitialized buffer.
Some types can be extended by reading from reader. The most well-known is probably
The Read trait allows for reading bytes from a source.
This marker trait declares that the Read trait is implemented correctly, that means:
A trait for objects which are byte-oriented sinks.