pub trait VecIterator<'a>: BaseVecIterator<Item = (Self::I, Value<'a, Self::T>)> {
type I: StoredIndex;
type T: StoredType + 'a;
// Provided methods
fn set(&mut self, i: Self::I) { ... }
fn get_(&mut self, i: usize) -> Option<Value<'a, Self::T>> { ... }
fn get(&mut self, i: Self::I) -> Option<Value<'a, Self::T>> { ... }
fn unwrap_get_inner(&mut self, i: Self::I) -> Self::T { ... }
fn get_inner(&mut self, i: Self::I) -> Option<Self::T> { ... }
fn last(self) -> Option<Self::Item>
where Self: Sized { ... }
fn index_type_to_string(&self) -> &str { ... }
}Required Associated Types§
type I: StoredIndex
type T: StoredType + 'a
Provided Methods§
fn set(&mut self, i: Self::I)
fn get_(&mut self, i: usize) -> Option<Value<'a, Self::T>>
Sourcefn get(&mut self, i: Self::I) -> Option<Value<'a, Self::T>>
fn get(&mut self, i: Self::I) -> Option<Value<'a, Self::T>>
Examples found in repository?
examples/main.rs (line 22)
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let _ = fs::remove_dir_all("./vec");
9
10 let version = Version::ZERO;
11 let compressed = Compressed::YES;
12
13 {
14 let mut vec: StoredVec<usize, u32> =
15 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
16
17 (0..21_u32).for_each(|v| {
18 vec.push(v);
19 });
20
21 let mut iter = vec.into_iter();
22 dbg!(iter.get(0));
23 dbg!(iter.get(20));
24 dbg!(iter.get(21));
25
26 vec.flush()?;
27 }
28
29 {
30 let mut vec: StoredVec<usize, u32> =
31 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
32 let mut iter = vec.into_iter();
33
34 dbg!(iter.get(0));
35 dbg!(iter.get(0));
36 dbg!(iter.get(1));
37 dbg!(iter.get(2));
38 dbg!(iter.get(20));
39 dbg!(iter.get(20));
40 dbg!(iter.get(0));
41
42 vec.push(21);
43 vec.push(22);
44
45 let mut iter = vec.into_iter();
46
47 dbg!(iter.get(20));
48 dbg!(iter.get(21));
49 dbg!(iter.get(22));
50 dbg!(iter.get(23));
51
52 vec.flush()?;
53 }
54
55 {
56 let mut vec: StoredVec<usize, u32> =
57 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
58 let mut iter = vec.into_iter();
59
60 dbg!(iter.get(0));
61 dbg!(iter.get(20));
62 dbg!(iter.get(21));
63 dbg!(iter.get(22));
64
65 vec.truncate_if_needed(14)?;
66
67 let mut iter = vec.into_iter();
68
69 iter.get(0);
70 iter.get(5);
71 dbg!(iter.get(20));
72
73 dbg!(vec.collect_signed_range(Some(-5), None)?);
74
75 vec.push(vec.len() as u32);
76 dbg!(VecIterator::last(vec.into_iter()));
77
78 dbg!(vec.into_iter().collect::<Vec<_>>());
79 }
80
81 Ok(())
82}fn unwrap_get_inner(&mut self, i: Self::I) -> Self::T
fn get_inner(&mut self, i: Self::I) -> Option<Self::T>
Sourcefn last(self) -> Option<Self::Item>where
Self: Sized,
fn last(self) -> Option<Self::Item>where
Self: Sized,
Examples found in repository?
examples/main.rs (line 76)
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let _ = fs::remove_dir_all("./vec");
9
10 let version = Version::ZERO;
11 let compressed = Compressed::YES;
12
13 {
14 let mut vec: StoredVec<usize, u32> =
15 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
16
17 (0..21_u32).for_each(|v| {
18 vec.push(v);
19 });
20
21 let mut iter = vec.into_iter();
22 dbg!(iter.get(0));
23 dbg!(iter.get(20));
24 dbg!(iter.get(21));
25
26 vec.flush()?;
27 }
28
29 {
30 let mut vec: StoredVec<usize, u32> =
31 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
32 let mut iter = vec.into_iter();
33
34 dbg!(iter.get(0));
35 dbg!(iter.get(0));
36 dbg!(iter.get(1));
37 dbg!(iter.get(2));
38 dbg!(iter.get(20));
39 dbg!(iter.get(20));
40 dbg!(iter.get(0));
41
42 vec.push(21);
43 vec.push(22);
44
45 let mut iter = vec.into_iter();
46
47 dbg!(iter.get(20));
48 dbg!(iter.get(21));
49 dbg!(iter.get(22));
50 dbg!(iter.get(23));
51
52 vec.flush()?;
53 }
54
55 {
56 let mut vec: StoredVec<usize, u32> =
57 StoredVec::forced_import(Path::new("./vec"), version, compressed)?;
58 let mut iter = vec.into_iter();
59
60 dbg!(iter.get(0));
61 dbg!(iter.get(20));
62 dbg!(iter.get(21));
63 dbg!(iter.get(22));
64
65 vec.truncate_if_needed(14)?;
66
67 let mut iter = vec.into_iter();
68
69 iter.get(0);
70 iter.get(5);
71 dbg!(iter.get(20));
72
73 dbg!(vec.collect_signed_range(Some(-5), None)?);
74
75 vec.push(vec.len() as u32);
76 dbg!(VecIterator::last(vec.into_iter()));
77
78 dbg!(vec.into_iter().collect::<Vec<_>>());
79 }
80
81 Ok(())
82}