MCPcopy Create free account
hub / github.com/LibertyOS-Development/kernel / cpinternal

Method cpinternal

src/vol.rs:215–232  ·  view source on GitHub ↗

Use volatile memmove to copy elements from one part of slice to another part:

(&mut self, src: impl RangeBounds<usize>, dest: usize)

Source from the content-addressed store, hash-verified

213
214 // Use volatile memmove to copy elements from one part of slice to another part:
215 pub fn cpinternal(&mut self, src: impl RangeBounds<usize>, dest: usize)
216 where
217 T: Copy,
218 R: DerefMut,
219 {
220 let Range
221 {
222 start: src_start,
223 end: src_end,
224 } = range(src, ..self.reference.len());
225 let count = src_end - src_start;
226 assert!(dest <= self.reference.len() - count, "DESTINATION OUT OF BOUNDS");
227
228 unsafe
229 {
230 intrinsics::volatile_copy_memory(self.reference.as_mut_ptr().add(dest), self.reference.as_ptr().add(src_start), count);
231 }
232 }
233}
234
235

Callers

nothing calls this directly

Calls 2

lenMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected