#array #const #no-alloc #subarray

无std array-section

只能查看或操作数组中的一部分(连续的子数组)

10个版本

0.2.0 2024年7月12日
0.1.8 2024年7月12日
0.1.5 2024年5月6日

#95 in 无标准库

Download history 345/week @ 2024-04-30 120/week @ 2024-05-07 1/week @ 2024-05-14 9/week @ 2024-05-21 3/week @ 2024-06-11 11/week @ 2024-07-02 322/week @ 2024-07-09 17/week @ 2024-07-16 9/week @ 2024-07-23

348 每月下载量

MIT/Apache

26KB
485

Crates.io Version docs.rs GitHub Actions Workflow Status

array-section

当你在const上下文中需要返回一个未知大小的缓冲区(但小于某个限制)时。这个crate定义了一个由数组支持的类型,其中只能查看数组的一部分。

这可以在希望返回大小为N的数组的const函数中很有用,但其中一些元素可能未使用。

#![no_std] 兼容

/// Returns an array of the square numbers smaller than both x and N.
const fn squares_smaller_than<const N: usize>(x: usize) -> ArraySection<usize, N> {
   let mut i = 0;
   let mut ans = [0; N];
   while i * i < N && i * i < x {
       ans[i] = i * i;
       i += 1;
   }
   ArraySection::new(ans, 0..i)
}
assert_eq!(squares_smaller_than::<10>(16), [0, 1, 4, 9]);

功能标志

std:从标准库派生Error特质用于错误类型。启用alloc

alloc:使数组部分可以转换为Vec和boxed切片。

许可证

根据以下其中之一授权

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,包括在本作品中,都将如上所述双授权,不附加任何其他条款或条件。

无运行时依赖

功能