[][src]Function memory_manager::common::consume_as_slice

pub unsafe fn consume_as_slice<'a, T>(
    mem: &mut Address<'a>,
    n: usize
) -> &'a mut [T]

Consumes a memory chunk as a slice.

Construct a slice with a given length from the current Address, then advance it.

use memory_manager::common::{consume_as_slice, Address};
let mut addr = Address::from(0x1000 as *mut u8);
let _ = unsafe { consume_as_slice::<usize>(&mut addr, 20) };
assert_eq!(
    addr,
    unsafe {
        Address::from(0x1000 as *mut u8).offset(
            core::mem::size_of::<usize>() as isize * 20)
    }
);