MCPcopy Create free account
hub / github.com/Lokathor/tinyvec / next

Method next

src/tinyvec.rs:1230–1250  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

1228
1229 #[inline]
1230 fn next(&mut self) -> Option<A::Item> {
1231 if self.removal_start < self.removal_end {
1232 match self.replacement.next() {
1233 Some(replacement) => {
1234 let removed = core::mem::replace(
1235 &mut self.parent[self.removal_start],
1236 replacement,
1237 );
1238 self.removal_start += 1;
1239 Some(removed)
1240 }
1241 None => {
1242 let removed = self.parent.remove(self.removal_start);
1243 self.removal_end -= 1;
1244 Some(removed)
1245 }
1246 }
1247 } else {
1248 None
1249 }
1250 }
1251
1252 #[inline]
1253 fn size_hint(&self) -> (usize, Option<usize>) {

Callers 1

extendMethod · 0.45

Calls 1

removeMethod · 0.45

Tested by

no test coverage detected