ein_ffi/cps/
stack.rs

1use std::alloc::{alloc, Layout};
2
3const DEFAULT_ALIGNMENT: usize = 8;
4
5#[repr(C)]
6pub struct Stack {
7    base_pointer: *mut u8,
8    size: usize,
9    capacity: usize,
10}
11
12impl Stack {
13    pub fn new(capacity: usize) -> Self {
14        Self {
15            base_pointer: unsafe {
16                alloc(Layout::from_size_align(capacity, DEFAULT_ALIGNMENT).unwrap())
17            },
18            size: 0,
19            capacity,
20        }
21    }
22}