RecordArena

Trait RecordArena 

Source
pub trait RecordArena<'a, Layout, RecordMut> {
    // Required method
    fn alloc(&'a mut self, layout: Layout) -> RecordMut;
}
Expand description

Given some minimum layout of type Layout, the RecordArena should allocate a buffer, of size possibly larger than the record, and then return mutable pointers to the record within the buffer.

Required Methods§

Source

fn alloc(&'a mut self, layout: Layout) -> RecordMut

Allocates underlying buffer and returns a mutable reference RecordMut. Note that calling this function may not call an underlying memory allocation as the record arena may be virtual.

Implementors§

Source§

impl<'a> RecordArena<'a, AccessLayout, AccessRecordMut<'a>> for DenseRecordArena

Source§

impl<'a, A, C, M> RecordArena<'a, AdapterCoreLayout<M>, (A, C)> for DenseRecordArena

RecordArena implementation for DenseRecordArena, with AdapterCoreLayout NOTE: A is the adapter RecordMut type and C is the core record type

Source§

impl<'a, F: Field, A, C, M> RecordArena<'a, AdapterCoreLayout<M>, (A, C)> for MatrixRecordArena<F>

RecordArena implementation for MatrixRecordArena, with AdapterCoreLayout NOTE: A is the adapter RecordMut type and C is the core RecordMut type

Source§

impl<'a, F: Field, M: MultiRowMetadata, R> RecordArena<'a, MultiRowLayout<M>, R> for MatrixRecordArena<F>
where [u8]: CustomBorrow<'a, R, MultiRowLayout<M>>,

RecordArena implementation for MatrixRecordArena, with MultiRowLayout NOTE: R is the RecordMut type

Source§

impl<'a, R, M> RecordArena<'a, MultiRowLayout<M>, R> for DenseRecordArena

RecordArena implementation for DenseRecordArena, with MultiRowLayout NOTE: R is the RecordMut type