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

Method push_sorted

src/models/versioned_vec.rs:208–225  ·  view source on GitHub ↗
(&mut self, version: VersionNumber, value: (u32, f32))

Source from the content-addressed store, hash-verified

206
207impl VersionedVec<(u32, f32)> {
208 pub fn push_sorted(&mut self, version: VersionNumber, value: (u32, f32)) {
209 if self.version == version {
210 let mut i = self.list.len();
211 while i > 0 && <(u32, f32)>::from_storage(self.list[i - 1]).0 > value.0 {
212 i -= 1;
213 }
214 self.list.insert(i, value.into_storage());
215 return;
216 }
217
218 if let Some(next) = &mut self.next {
219 next.push_sorted(version, value);
220 } else {
221 let mut new_next = Box::new(Self::new(version));
222 new_next.push_sorted(version, value);
223 self.next = Some(new_next);
224 }
225 }
226}
227
228impl<T> PartialEq for VersionedVec<T> {

Callers 1

insertMethod · 0.80

Calls 3

into_storageMethod · 0.80
lenMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected