1 个不稳定版本

0.1.0 2021 年 2 月 7 日

#1002数据结构

MIT/Apache

39KB
925

Crates.io version docs.rs status Crates.io license Github Tests

本 crate 的目的是提供使用 DST(动态大小类型)的数据结构。

概述

此 crate 的目标是提供可以在连续分配中存储 DST 的数据结构。某些应用可能使用连续分配而不是多个指针具有性能优势。

目前,唯一的实现是一个 Vec,其中 DST 尾部是相同长度的切片。

用法

添加到依赖项

[dependencies]
dst = "0.1.0"

在代码中使用

use dst::FixedVec;
fn main() {
    let mut vec = FixedVec::<Option<&str>, usize>::new(4);
    vec.push_default();
    let item = vec.get(0).unwrap();
    assert_eq!(item.value, None);
    assert_eq!(item.tail, [0, 0, 0, 0]);
    
    vec.push(Some("Name"), [1, 2, 3, 4].iter().copied());
    let item = vec.get(1).unwrap();
    assert_eq!(item.value, Some("Name"));
    assert_eq!(item.tail, [1, 2, 3, 4]);
}

标志

无运行时依赖