10 个版本
0.3.7 | 2021 年 11 月 7 日 |
---|---|
0.3.6 | 2021 年 8 月 21 日 |
0.3.5 | 2021 年 7 月 30 日 |
0.2.4 | 2021 年 7 月 4 日 |
0.1.0 | 2021 年 7 月 3 日 |
#512 在 内存管理
每月 40 次下载
35KB
616 行
transvec
transvec 是一个用于不复制转换 Vec 的 crate。
安装
将此添加到您的 Cargo.toml
[dependencies]
transvec = "0.3"
使用方法
use transvec::transmute_vec;
let input: Vec<u8> = vec![1, 2, 3, 4];
let output: Vec<u16, _> = transmute_vec(input).unwrap();
#![no_std]
此库支持 no_std,只需禁用默认功能,并可选地启用 allocator_api
,这还需要原子指针。但它确实需要 alloc
。
Nightly
这是一个 nightly 版本,因为它被 allocator_api
块住了,这是此 crate 解决对齐问题的方法。
但是,您可以关闭默认功能,并可选地启用 std
以使其在稳定版上工作,唯一的选择是 transmute_vec_basic
和 transmute_vec_basic_may_copy
。
贡献
欢迎 pull request。对于重大更改,请首先创建一个问题以讨论您希望更改的内容。
请确保适当地更新测试。
许可证
依赖项
~135KB