7个不稳定版本 (3个重大变更)
0.4.0 | 2021年1月28日 |
---|---|
0.3.0 | 2020年10月28日 |
0.2.0 | 2019年12月1日 |
0.2.0-beta.2 | 2019年11月28日 |
0.1.0-beta.1 | 2019年6月16日 |
#1778 in 数据结构
在 strchunk 中使用
14KB
256 行
使用范围语法分割序列
这个库提供了特性和支持工具,增加了根据给定范围分割序列的便利方法。
TakeRange
特性的主要用途是数据容器库,例如 bytes,其中数据缓冲区的表示可以有效地分割成更小的部分,但执行此操作的内建方法往往不太易记。使用不同范围类型参数化的特性实现提供了与范围语法的便利多态。
许可证
本项目采用 MIT许可证。
贡献
除非您明确说明,否则您有意提交的任何贡献,都应按照MIT许可证许可,不附加任何额外条款或条件。
lib.rs
:
范围参数分割序列的实用工具。
TakeRange
特性提供了多态、易于记忆的方法,用于分割带有范围语法参数的索引序列。
use range_split::TakeRange;
let mut buf = Bytes::from("Hello, world");
let p = buf.take_range(..5);
buf.remove_range(2..);
assert_eq!(p, "Hello");
assert_eq!(buf, ", ");
等价于
#
let mut buf = Bytes::from("Hello, world");
let p = buf.split_to(5);
buf.truncate(2);
如果启用了 bytes
的编译时功能,则为 Bytes
和 BytesMut
提供了 TakeRange
的实现,来自 bytes
包。
依赖项
~170KB