A pared-down version of Rust's [std::io] usable in no_std contexts.
Rust's std::io provides common interfaces that are used widely in the Rust
ecosystem for reading and writing data. However, as of 2022, these interfaces
are not available in no_std builds.
This crate provides drop-in replacements for the types and traits exposed by
std::io which can be used with no_std.
```rust
use acid_io::{ byteorder::{BE, LE, ReadBytesExt, WriteBytesExt}, Cursor, Read, Seek, SeekFrom, Write, };
let mut buf = [0u8; 10]; let mut curs = Cursor::new(&mut buf);
curs.writeu8(1)?;
curs.writeu16::
curs.seek(SeekFrom::Start(0))?;
asserteq!(curs.readu8()?, 1);
asserteq!(curs.readu16::
std
Replaces all items with re-exports of their counterparts in std::io. This
effectively makes acid_io an alias of std::io, but missing any items that
acid_io wouldn't otherwise provide.
alloc
Exposes BufReader and BufWriter, as well as those trait methods which
take or return Vec or String.
byteorder
Exposes acid_io::byteorder, which contains implementations of
ReadBytesExt and WriteBytesExt for acid_io's Read and Write traits.
Also re-exports the rest of byteorder.
Much of this library is copied verbatim or with slight modifications from other Rust projects:
If you find this crate useful, please consider sponsoring members of the [Library team] on GitHub.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.