Skip to main content

vecdb/variants/lazy/delta/
any_vec.rs

1use crate::{AnyVec, VecIndex, VecValue, Version, short_type_name};
2
3use super::{DeltaOp, LazyDeltaVec};
4
5impl<I, S, T, Op> AnyVec for LazyDeltaVec<I, S, T, Op>
6where
7    I: VecIndex,
8    S: VecValue,
9    T: VecValue,
10    Op: DeltaOp<S, T>,
11{
12    fn version(&self) -> Version {
13        self.base_version + self.source.version() + self.window_starts_version
14    }
15
16    fn name(&self) -> &str {
17        &self.name
18    }
19
20    fn index_type_to_string(&self) -> &'static str {
21        I::to_string()
22    }
23
24    fn len(&self) -> usize {
25        self.source.len()
26    }
27
28    #[inline]
29    fn value_type_to_size_of(&self) -> usize {
30        size_of::<T>()
31    }
32
33    #[inline]
34    fn value_type_to_string(&self) -> &'static str {
35        short_type_name::<T>()
36    }
37
38    #[inline]
39    fn region_names(&self) -> Vec<String> {
40        Vec::new()
41    }
42}