list_tools 0.1.0

一个自己研发的Vec<T>
Documentation

list_tools

介绍

[List]是一个基于“struct递归”的结构体,他由于不基于Rust自带的[Vec],所以作者得从零搭建:)。有不好的地方可以自己写(VSCode里Ctrl+左键)

Examples

use list::{clist, List};
let mut l: List<u8> = clist!(1, 1, 2, 4);
l.remove_index(0);
l.append_of_end(5);
l.append_of_front(0);
l.append_of_index(3, 3);
assert_eq!(Vec::from(l.clone()), vec![0, 1, 2, 3, 4, 5]);
assert_eq!(&l, &clist!(0, 1, 2, 3, 4, 5));
assert_ne!(&l, &clist!());
println!("{}", l);
println!("{:?}", l);
println!("{:#?}", l);

// --snip--
println!("---snip---");

let mut l = clist!(0; 10);
assert_eq!(l, clist!(0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
println!("{}", l);
println!("{:?}", l);
println!("{:#?}", l);
l.clear();
assert_eq!(l, List::new());