MCPcopy Create free account
hub / github.com/cosdata/cosdata / delete_internal

Method delete_internal

src/models/versioned_vec.rs:156–181  ·  view source on GitHub ↗
(
        &mut self,
        version: VersionNumber,
        inserted_version: VersionNumber,
        inserted_idx: u32,
    )

Source from the content-addressed store, hash-verified

154 }
155
156 fn delete_internal(
157 &mut self,
158 version: VersionNumber,
159 inserted_version: VersionNumber,
160 inserted_idx: u32,
161 ) where
162 <T as VersionedVecItem>::Id: Eq,
163 {
164 if self.version == version {
165 if inserted_version == self.version {
166 self.list.remove(inserted_idx as usize);
167 } else {
168 self.list
169 .push((1 << 63) | ((*inserted_version as u64) << 32) | (inserted_idx as u64))
170 }
171 return;
172 }
173
174 if let Some(next) = &mut self.next {
175 next.delete_internal(version, inserted_version, inserted_idx);
176 } else {
177 let mut new_next = Box::new(Self::new(version));
178 new_next.delete_internal(version, inserted_version, inserted_idx);
179 self.next = Some(new_next);
180 }
181 }
182
183 pub fn iter(&self) -> VersionedVecIter<'_, T> {
184 let iter = self.list.iter();

Callers 1

deleteMethod · 0.80

Calls 2

removeMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected