#slice #const-generics #array #serde #box

nightly no-std boxed-slice

基于 const generics 的装箱切片的简单抽象

2 个版本

0.1.1 2020年12月2日
0.1.0 2020年12月2日

#300 in 无标准库

Zlib 许可证

11KB
154

这是什么?

boxed-slice 是一个简单的包装器,它使用 const generics 为编译时固定大小包装了 Box<T, N>

免责声明

由于此库使用 #![feature(min_const_generics)],需要 Rust Nightly 版本!

然而,min_const_generics 已在 Rust 1.50 中稳定,请继续关注!

示例

use boxed_slice::BoxedSlice;

let answer_slice: BoxedSlice<u8, 42> = BoxedSlice::new(42);
assert_eq!(answer_slice.len(), 42);
assert!(answer_slice.iter().all(|num| *num == 42));

let default_slice: BoxedSlice<u8, 128> = BoxedSlice::default();
assert_eq!(default_slice.len(), 128);
assert!(default_slice.iter().all(|num| *num == u8::default()));

特性

  • serde,为 BoxedSlice 提供完整的序列化/反序列化支持

许可证

zlib/libpng 许可证

版权所有 (c) 2020 aspen [email protected]

本软件按“原样”提供,不提供任何明示或暗示的保证。在任何情况下,作者都不会对使用本软件引起的任何损害承担责任。

任何人都可以出于任何目的使用本软件,包括商业应用,并可自由修改和重新分发,但需遵守以下限制

  1. 本软件的来源不得被误解;你不得声称你编写了原始软件。如果你将本软件用于产品中,产品文档中应表示感谢,但不是必需的。

  2. 修改后的源代码版本必须明显标记为修改版,且不得被误认为是原始软件。

  3. 本声明不得从任何源分发中删除或更改。

依赖项

~170KB