Crates.io | acid_io |
lib.rs | acid_io |
version | 0.1.0 |
source | src |
created_at | 2022-01-10 02:55:33.158641 |
updated_at | 2022-01-10 02:55:33.158641 |
description | A pared-down version of std::io usable with no_std |
homepage | |
repository | https://github.com/dataphract/acid_io.git |
max_upload_size | |
id | 511123 |
size | 322,112 |
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
.
#![no_std]
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.write_u8(1)?;
curs.write_u16::<BE>(2)?;
curs.write_u32::<LE>(3)?;
curs.seek(SeekFrom::Start(0))?;
assert_eq!(curs.read_u8()?, 1);
assert_eq!(curs.read_u16::<BE>()?, 2);
assert_eq!(curs.read_u32::<LE>()?, 3);
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.