#iterator #const-generics #chunk #iteration #adaptor #no-alloc

无 std const-chunks

将迭代器分块到固定长度数组扩展特质

6 个版本

0.3.0 2023年10月4日
0.2.2 2023年7月13日
0.2.1 2023年6月12日
0.1.1 2023年5月13日

#1176 in Rust 模式

Download history 2/week @ 2024-03-14 9/week @ 2024-03-28 3/week @ 2024-04-04 2/week @ 2024-06-13 46/week @ 2024-06-20 43/week @ 2024-06-27

91 每月下载量

MIT/Apache

17KB
177

const-chunks


此crate提供了一个与#![no_std]兼容的扩展特质,允许您使用const泛型将迭代器分块到固定长度数组。

有关更多信息,请参阅文档

use const_chunks::IteratorConstChunks;

let mut iter = vec![1, 2, 3, 4, 5].into_iter().const_chunks::<2>();
assert_eq!(iter.next(), Some([1,2]));
assert_eq!(iter.next(), Some([3,4]));
assert_eq!(iter.next(), None);

let mut remainder = iter.into_remainder().unwrap();
assert_eq!(remainder.next(), Some(5));
assert_eq!(remainder.next(), None);

安全性

此crate使用 unsafe 来操作未初始化的内存。

为了防止未定义行为,代码在 CI 中运行 MIRI,并且非常短且易于审计。

尽管如此,如果您试图最小化 unsafe 依赖,仍应考虑此事实。

最低支持版本

此crate需要 rustc 版本 1.65 或更高。

此crate的MSRV通过清单的 rust-version 键强制执行。

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,将按上述方式双许可,不附加任何额外条款或条件。

无运行时依赖