#string #optimization #display #inline #no-heap

smart-string

一组旨在提高字符串操作能力的字符串类型和特性集合

3次发布

0.1.3 2023年9月21日
0.1.2 2023年9月20日
0.1.1 2023年9月19日

#1001数据结构

每月49次下载

MIT/Apache

45KB
1K SLoC

crates.io

最小rust版本1.56 (抱歉,尚未检查)

Smart String库

这个库是一组旨在提高字符串操作能力的字符串类型和特性集合。它源于作者之前项目的需求,需要集中化并避免代码重复,尤其是避免不安全操作。虽然这里的工具和方法反映了那些项目中观察到的某些模式,但值得注意的是,该库本身处于早期开发阶段。

状态

目前,Smart String正在积极开发中,其API可能会发生变化。虽然它封装了早期工作中的可靠模式,但作为一个独立实体,该库相对较新。因此,建议谨慎使用,并欢迎提供反馈、报告问题或建议改进。

尚未涵盖测试。

特性

  • serde - 启用serde支持。

箱子里有什么

  • PascalString<N>: 具有固定容量的字符串,可以存储在栈上或在更大的结构和数组中就地存储。
  • DisplayExt: 一套用于简化字符串格式化的方法。
  • SmartString: 根据长度动态决定其存储位置(栈或堆)的字符串。

路线图

主要目标

  • StringsStack: 为多个字符串提供专用存储解决方案,允许它们在单个分配中容纳。
  • StringsSet: 为字符串设计的存储介质,便于集中分配和作为哈希集合使用。

其他目标

  • PascalStringLong<N>: PascalString<N> 的增强版本,支持高达 2^32-1 字节的容量,适用于255字节限制不足的情况。
  • no_std 环境的兼容性。
  • ufmt 的集成支持。

欢迎更多建议!

许可证

许可协议为以下之一

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交用于包含在作品中的任何贡献,均应双许可如上,不附加任何额外条款或条件。

依赖

约110-355KB