[][src]Function memory_manager::common::consume_as_ref

pub unsafe fn consume_as_ref<'a, T>(mem: &mut Address<'a>) -> &'a mut T

Consumes a memory chunk as a reference.

Construct a reference from the current Address, then advance it.

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