pub trait ExtendDatums {
// Required method
fn extend_datums<'a>(
&'a self,
arena: &'a RowArena,
target: &mut Vec<Datum<'a>>,
max: Option<usize>,
);
}Expand description
A helper trait for types that can append their datums to a Vec<Datum>.
Required Methods§
Sourcefn extend_datums<'a>(
&'a self,
arena: &'a RowArena,
target: &mut Vec<Datum<'a>>,
max: Option<usize>,
)
fn extend_datums<'a>( &'a self, arena: &'a RowArena, target: &mut Vec<Datum<'a>>, max: Option<usize>, )
Append datums to target — all of them (max == None) or at most
max (Some) — branching on representation ONCE rather than once per
datum.
arena provides storage for data that the appended datums borrow from
but that does not already live in self. Representations backed directly
by packed bytes (Row, row-spine’s DatumSeq) ignore it, while
compressed representations can decode into it so the resulting
Datum<'a>s borrow from the arena rather than from self. Implementors
should push directly into target in a tight loop, branching on their
representation once rather than once per datum.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".