use crate::freelist::TreiberStack;
use crate::size_class::NUM_SIZE_CLASSES;
pub struct PerNodeHeap {
freelists: [TreiberStack; NUM_SIZE_CLASSES],
}
impl PerNodeHeap {
pub fn new() -> Self {
Self {
freelists: std::array::from_fn(|_| TreiberStack::new()),
}
}
#[inline]
pub fn freelist(&self, class_index: usize) -> &TreiberStack {
&self.freelists[class_index]
}
}