#upper-bound #vec #non-empty #bounds #wrapper #lower #guarantees

bounded-vec

非空 Rust Vec 包装器,对元素数量下限和上限提供类型保证

8 个版本 (破坏性)

0.7.1 2022 年 8 月 1 日
0.7.0 2022 年 7 月 26 日
0.6.0 2022 年 4 月 21 日
0.5.0 2021 年 10 月 14 日
0.1.0 2021 年 5 月 10 日

#118 in 数据结构

Download history 24632/week @ 2024-03-14 30005/week @ 2024-03-21 31186/week @ 2024-03-28 35921/week @ 2024-04-04 33544/week @ 2024-04-11 30466/week @ 2024-04-18 24616/week @ 2024-04-25 23493/week @ 2024-05-02 22898/week @ 2024-05-09 22779/week @ 2024-05-16 34598/week @ 2024-05-23 30316/week @ 2024-05-30 22232/week @ 2024-06-06 25117/week @ 2024-06-13 26505/week @ 2024-06-20 19064/week @ 2024-06-27

97,914 每月下载量
用于 81 仓库 (8 个直接使用)

CC0 许可

22KB
361

Coverage Status Latest Version Documentation

bounded-vec

BoundedVec<T, L, U> - 对元素数量下限(L)和上限(U)提供类型保证的非空 Rust std::vec::Vec 包装器。受 vec1 启发。

示例

use bounded_vec::BoundedVec;

let data: BoundedVec<u8, 2, 4> = [1u8,2].into();

assert_eq!(*data.first(), 1);
assert_eq!(*data.last(), 2);

// creates a new BoundedVec by mapping each element
let data = data.mapped(|x|x*2);
assert_eq!(data, [2u8,4].into());

仓库功能

  • 可选的(非默认)serde 功能,为 BoundedVec 添加序列化。
  • 可选的(非默认)arbitrary 功能,为 BoundedVec 添加 proptest::Arbitrary 实现功能。

变更日志

请参阅 CHANGELOG.md

贡献

请参阅 贡献指南

依赖项

~0.3–1.2MB
~27K SLoC