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.