12个版本 (5个破坏性更新)
0.6.1 | 2021年9月7日 |
---|---|
0.6.0 | 2021年9月7日 |
0.5.2 | 2021年8月12日 |
0.4.1 | 2021年6月15日 |
0.1.2 | 2021年3月18日 |
#1896 in 数据结构
每月2,346次下载
105KB
2K SLoC
通过索引数组以(可变地)一次访问多个位置的切片的构思函数。
提供的API
此crate实现了多个API
- "simple": 接受一个排序后的索引数组
[usize; N]
。 - "simple_result": 接受一个排序后的索引数组
[usize; N]
,但具有基于Result
的API。 - "slice_index": 接受一个排序后的索引数组
[I; N]
,其中I: SliceIndex<[T]>
. - "generic": 使用通用的
I: Indices<N>
,具有更高的灵活性。
示例
use index_many::generic::index_many_mut;
let mut v = vec![1, 2, 3, 4, 5];
let [a, b, c] = index_many_mut(&mut v, [0, 2, 4]);
*a += 10;
*b += 100;
*c += 1000;
assert_eq!(v, vec![11, 2, 103, 4, 1005]);
生成的汇编代码
文档中包含示例函数及其x86_64汇编代码生成。请参阅crate::_doc_assembly
模块。