2 个版本

0.1.1 2023 年 9 月 24 日
0.1.0 2023 年 9 月 23 日

#2368算法


用于 config-it

MIT 许可证

37KB
722

strseq:Rust 中的不可变字符串分割

strseq 是一个 Rust 库,旨在高效处理多个不可变字符串片段。它采用了一种简洁的方法来表示字符串层次结构,无需进行常量分隔符检查或为单个标记分配不同的字符串。

特性

  • 使用 StringSequence 的紧凑存储:

    • 在单个线性缓冲区中存储多个字符串。
    • 跨度信息(开始,结束)位于缓冲区的前端。
    • 实际的字符串内容填充缓冲区的其余部分。
  • 使用 SharedStringSequence 共享序列:

    • StringSequence 类似。
    • 引用计数,允许在上下文中进行低成本的克隆和共享。
  • 使用 MutableStringSequence 进行可变操作:

    • 包含两个不同的动态缓冲区:一个用于索引,另一个用于文本。
    • 支持高效的突变,如 pop、push 和 insert。

用例

  • 分层路径表示。
  • 基于标记的系统,其中为每个标记分配单独的字符串是不高效的。

入门

在您的 Cargo.toml 中,添加以下内容

strseq = "0.1.0"

特性

  • serde:启用使用 Serde 序列化和反序列化 StringSequenceSharedStringSequenceMutableStringSequence

Serde 表示

所有定义的结构都表示为字符串列表。

反馈

我们欢迎对我们的 GitHub 仓库 提供贡献、反馈和问题。

依赖项

~175KB