#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 • Rust 包仓库 24632/week @ 2024-03-14 • Rust 包仓库 30005/week @ 2024-03-21 • Rust 包仓库 31186/week @ 2024-03-28 • Rust 包仓库 35921/week @ 2024-04-04 • Rust 包仓库 33544/week @ 2024-04-11 • Rust 包仓库 30466/week @ 2024-04-18 • Rust 包仓库 24616/week @ 2024-04-25 • Rust 包仓库 23493/week @ 2024-05-02 • Rust 包仓库 22898/week @ 2024-05-09 • Rust 包仓库 22779/week @ 2024-05-16 • Rust 包仓库 34598/week @ 2024-05-23 • Rust 包仓库 30316/week @ 2024-05-30 • Rust 包仓库 22232/week @ 2024-06-06 • Rust 包仓库 25117/week @ 2024-06-13 • Rust 包仓库 26505/week @ 2024-06-20 • Rust 包仓库 19064/week @ 2024-06-27 • Rust 包仓库

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