1个不稳定版本
0.1.0 | 2022年1月10日 |
---|
#130 在 无标准库
1,143 每月下载量
用于 17 个Crate (4 直接)
305KB
4.5K SLoC
acid_io
适用于no_std
环境下的Rust的std::io
简化版本。
Rust的std::io
提供了广泛用于Rust生态系统中的读取和写入数据的通用接口。然而,截至2022年,这些接口在no_std
构建中不可用。
此包提供了std::io
暴露的类型和特征的直接替换,可用于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
用
std::io
的相应导出替换所有项目。这实际上使acid_io
成为std::io
的别名,但缺少acid_io
不会提供的项目。 -
alloc
公开
BufReader
和BufWriter
,以及那些接受或返回Vec
或String
的trait方法。 -
byteorder
公开
acid_io::byteorder
,它包含acid_io
的Read
和Write
trait的ReadBytesExt
和WriteBytesExt
实现。还重新导出byteorder
的其余部分。
致谢
此库的大部分内容直接或略作修改自其他Rust项目
如果您觉得这个Crate很有用,请考虑在GitHub上赞助Library团队的成员。
许可证
在以下许可证下授权
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由你选择。
贡献
除非你明确表示,否则根据Apache-2.0许可证的定义,你有意提交的任何贡献,用于包含在本工作中,都将按上述方式双重许可,没有任何附加条款或条件。
依赖项
~0.2–37MB
~531K SLoC