Type Alias UnsafeContiguousMemory

Source
pub type UnsafeContiguousMemory = ContiguousMemoryStorage<ImplUnsafe>;
Expand description

Alias for ContiguousMemoryStorage that uses unsafe implementation.

§Example

use contiguous_mem::*;

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
struct Data {
    value: u32,
}

fn main() {
    // Create a ContiguousMemory instance with a capacity of 1024 bytes and 1-byte alignment
    let mut memory = UnsafeContiguousMemory::new(1024);

    // Store data in the memory container
    let data = Data { value: 42 };

    let stored_number: *mut u64 = memory
        .push(22u64)
        .expect("there should be enough space to store a number");
    let stored_data: *mut Data = memory
        .push(data)
        .expect("there should be enough space to store Data");

    // Retrieve and use the stored data
    unsafe {
        assert_eq!(*stored_data, data);
        assert_eq!(*stored_number, 22);
    }
}

Aliased Type§

pub struct UnsafeContiguousMemory { /* private fields */ }