pub fn stream_mapped_selection(
data: &dyn SparseIo<IndexIter = Vec<usize>>,
selected_columns: &[usize],
rows: Option<&RowMap>,
out_row_names: &[Box<str>],
out_col_names: &[Box<str>],
file_out: &str,
backend_out: &SparseIoBackend,
) -> Result<(usize, usize, usize)>Expand description
Stream the columns selected_columns of data, in that order, into a
fresh backend at file_out, its rows renumbered (dropped, reordered) by
rows when given, with the given names and data’s metadata. Returns the
output’s (rows, columns, non-zeros).
The survivors are never materialised: they flow through the validated streaming writer in byte-budgeted slabs, cut from the resident indptr.
§Errors
If a selected column is past the data’s columns, or rows does not map
the data’s rows onto distinct output rows; file_out is then not created.