2个不稳定版本
0.2.0 | 2022年10月10日 |
---|---|
0.1.0 | 2021年9月30日 |
#958 在 数据结构
56 每月下载
在 8 个crate(6个直接)中使用
16KB
307 行
这个库旨在提供将数据直接写入流(impl
)和直接从流中读取数据(Read
)的最简单、最直接的方法。
它包含ToStream
和FromStream
特质,需要为要写入或读取的类型实现这些特质。
为什么?
没有好的二进制序列化库。最常见的方式似乎是bincode
,它基于serde
。 serde
是冗余,尤其是在仅写入二进制数据时。它有一个数据模型,并存储所有项目的名称。
只要你可以派生你的特质,你就不会注意到大多数复杂性,但当你不得不在serde
中手动实现一些特质时,它会变得过于复杂。
在这个库中,当你想手动实现一些特质时,你只需按顺序将元素写入或读取到流中。由于默认使用流,因此它与文件系统或网络的交互应该非常简单。
功能和进度
哪些数据类型已经实现或计划实现?
- 布尔值(
bool
) - 数字(
u8 到
u128
,i8 到
i128
,f32
和f64
,usize
) - 固定大小数组(
[T; N]
,泛型于类型和大小) - 字符(
char
) - 字符串(
String
) - 简单包装类型(
Box
、Option
、Result
) - 集合(
Vec
、VecDeque
、LinkedList
、HashMap
、BTreeMap
、HashSet
、BTreeSet
、BinaryHeap
)
哪些类型可能不会实现?
- 非静态类型(也包括
&[T]
、&str
) - 元组(因为无法以泛型方式实现它们)
其他计划中的功能
- 派生特质