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

Method next

src/arrayvec.rs:1295–1315  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

1293
1294 #[inline]
1295 fn next(&mut self) -> Option<A::Item> {
1296 if self.removal_start < self.removal_end {
1297 match self.replacement.next() {
1298 Some(replacement) => {
1299 let removed = core::mem::replace(
1300 &mut self.parent[self.removal_start],
1301 replacement,
1302 );
1303 self.removal_start += 1;
1304 Some(removed)
1305 }
1306 None => {
1307 let removed = self.parent.remove(self.removal_start);
1308 self.removal_end -= 1;
1309 Some(removed)
1310 }
1311 }
1312 } else {
1313 None
1314 }
1315 }
1316
1317 #[inline]
1318 fn size_hint(&self) -> (usize, Option<usize>) {

Callers

nothing calls this directly

Calls 2

removeMethod · 0.45
as_slice_mutMethod · 0.45

Tested by

no test coverage detected