1use lessvec::prelude::*;
2
3fn main() {
4 println!(">>> Executing: push(1); push(2)");
6 let mut v = LessVec::new();
7 v.push(1);
8 v.push(2);
9 println!("initial: {:?}", v.as_slice());
10 println!();
11
12 println!(">>> Executing: reserve(8) and then print len/capacity");
14 v.reserve(8);
15 println!("len = {}, capacity = {}", v.len(), v.capacity());
16 println!();
17
18 println!(">>> Executing: insert(1, 5); remove(1)");
20 v.insert(1, 5);
21 println!("after insert: {:?}", v.as_slice());
22 let removed = v.remove(1);
23 println!("removed element = {}", removed);
24 println!();
25
26 println!(">>> Executing: as_mut_slice()[0] = 42");
28 v.as_mut_slice()[0] = 42;
29 println!("after mutation: {:?}", v.as_slice());
30 println!();
31
32 println!(">>> Executing: push(100); drain()");
34 v.push(100);
35 let drained: Vec<_> = v.drain().collect();
36 println!("drained: {:?}", drained);
37 println!(
38 "after drain: len = {}, capacity = {}",
39 v.len(),
40 v.capacity()
41 );
42 println!();
43
44 println!(">>> Executing: into_iter()");
46 let mut v2 = LessVec::new();
47 v2.push(10);
48 v2.push(20);
49 let collected: Vec<_> = v2.into_iter().collect();
50 println!("into_iter collected: {:?}", collected);
51 println!();
52
53 println!(">>> Macro example 1 - Executing: lessvec![1, 2, 3]");
55 let v_macro = lessvec![1, 2];
56 println!("macro created: {:?}", v_macro.as_slice());
57 println!();
58
59 println!(">>> Macro example 2 - Executing: lessvec![0; 2]");
61 let v_macro = lessvec![0; 2];
62 println!("macro created: {:?}", v_macro.as_slice());
63}