#amount #fixed #max #vec #size #vector #happen

nightly max_size_vec

一个用于具有固定内存保留的基于栈向量的 Rust 包。当 min_const_generics 稳定时,它将在稳定版上工作。

1 个不稳定版本

0.1.0 2020年10月7日

#8#happen

GPL-3.0 许可证

130KB
564

包含 (rust 库, 100KB) libmax_size_vec-1cc56b2f724f093c.rlib

这个包包含一种具有自己的自包含和基于栈的分配系统的向量类型。这种类型的向量称为最大尺寸向量,并在创建时保留固定数量的空间。一旦创建,就没有元素,但元素的数量可以增加,直到缓冲区满。当缓冲区满时,如果尝试添加另一个元素,将发生恐慌,并描述错误。这个向量拥有大多数非分配特定(例如,reserve 不是一个方法)的向量方法和特质。这个包除了 core 之外没有依赖项,因此是独立的,适用于无需标准库即可使用。

示例

use max_size_vec::MaxSizeVec;
fn main() {
    let mut x: MaxSizeVec<usize, 1024> = MaxSizeVec::new();
    x.push(0usize);
    x.swap_remove(0usize);
    x.extend(5..10usize);
    x.pop();
    x.retain(|x| *x > 6);
    x.drain(0..1);
    x.drain(..1);
    x.push(2);
    x.insert(1usize, 1usize);
    x.insert(0usize, 1usize);
    x.remove(0usize);
    assert_eq!(x, &[2, 1]);
}

无运行时依赖