struct ColumnReg {
alloc: Box<dyn FnOnce(usize) -> (ColumnKind, ColPtr) + Send>,
make_filler: Box<dyn FnOnce(ColPtr, usize) -> Box<dyn Fn(usize, usize) + Send + Sync> + Send>,
}Expand description
One registered column: a serial allocation step plus the range filler that the flattened work-list (or serial loop) dispatches.
Fields§
§alloc: Box<dyn FnOnce(usize) -> (ColumnKind, ColPtr) + Send>Allocates the column’s backing storage (R SEXP for native columns, an
owned Vec for character columns) for nrow rows. Runs serially on the
R/worker thread. Returns the ColumnKind (carrying the protected SEXP
or the owned buffer) and the raw data pointer the range filler writes
through during the fill phase.
make_filler: Box<dyn FnOnce(ColPtr, usize) -> Box<dyn Fn(usize, usize) + Send + Sync> + Send>Builds the type-erased range filler once the data pointer is known.
Auto Trait Implementations§
impl !RefUnwindSafe for ColumnReg
impl !Sync for ColumnReg
impl !UnwindSafe for ColumnReg
impl Freeze for ColumnReg
impl Send for ColumnReg
impl Unpin for ColumnReg
impl UnsafeUnpin for ColumnReg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes