#array #static #heap-allocation #allocation #heap-allocated #heap

无标准库 static-array

一个无标准库的 Rust crate,提供堆分配的不可变类型检查数组。

5 个版本 (破坏性更新)

0.5.0 2024 年 1 月 25 日
0.4.0 2024 年 1 月 25 日
0.3.0 2024 年 1 月 15 日
0.2.0 2024 年 1 月 15 日
0.1.0 2024 年 1 月 13 日

106无标准库

Download history 10/week @ 2024-03-12 2/week @ 2024-03-19 66/week @ 2024-03-26 2/week @ 2024-04-02 1/week @ 2024-05-28

每月下载量 56
用于 surface-grid

BSD-3-Clause

33KB
677 代码行

静态数组

一个无标准库的 Rust crate,提供堆分配的不可变类型检查数组。

文档可在 https://docs.rs/static-array/0.5.0 查看。

以下类型被提供

  • HeapArray - 一维堆分配数组。
  • HeapArray2D - 二维堆分配数组。
  • HeapArray3D - 三维堆分配数组。

此 crate 不依赖于 std,但需要 alloc 来创建数组。

示例

使用函数在堆上创建大型数组。

use static_array::HeapArray;

// Creates an array 16 MB (on 64 bit systems) in size
// which is larger than the standard linux stack size.
let array: HeapArray<usize, 2000000> = HeapArray::from_fn(|i| i);

assert_eq!(1247562, array[1247562]);

从类型的默认值创建大型数组。

use static_array::HeapArray;

let array: HeapArray<usize, 2000000> = HeapArray::default();

assert_eq!(0, array[1247562]);

lib.rs:

一个无标准库的 Rust crate,提供堆分配的不可变类型检查数组。以下类型被提供

  • HeapArray - 一维堆分配数组。
  • HeapArray2D - 二维堆分配数组。
  • HeapArray3D - 三维堆分配数组。

此 crate 不依赖于 std,但需要 alloc 来创建数组。

示例

使用函数在堆上创建大型数组。

use static_array::HeapArray;

// Creates an array 16 MB (on 64 bit systems) in size which is larger than the standard linux stack size.
let array: HeapArray<usize, 2000000> = HeapArray::from_fn(|i| i);

assert_eq!(1247562, array[1247562]);

从类型的默认值创建大型数组。

use static_array::HeapArray;

let array: HeapArray<usize, 2000000> = HeapArray::default();

assert_eq!(0, array[1247562]);

依赖

~0–265KB