pub fn derive_dataframe_row(input: DeriveInput) -> Result<TokenStream>Expand description
Derive DataFrameRow: generates a companion DataFrame type with collection fields.
§Requirements
For structs: the type must implement IntoList.
For enums: all variants must have named fields.
§Generated Items
For a struct Measurement { time: f64, value: f64 }:
- Struct
MeasurementDataFrame { time: Vec<f64>, value: Vec<f64> } impl IntoDataFrame for MeasurementDataFrameimpl From<Vec<Measurement>> for MeasurementDataFrameimpl IntoIterator for MeasurementDataFrame- Associated methods on
Measurement:to_dataframe(Vec<Self>) -> MeasurementDataFramefrom_dataframe(MeasurementDataFrame) -> Vec<Self>
For an enum:
- Companion struct with
Vec<Option<T>>columns (field-name union) - Optional tag column for variant discrimination
impl From<Vec<Enum>> for EnumDataFrameimpl IntoDataFrame for EnumDataFrame- Associated
to_dataframemethod
§Attributes
#[dataframe(name = "CustomName")]— Custom companion type name#[dataframe(align)]— Enum alignment mode (accepted but implicit)#[dataframe(tag = "col")]— Add variant discriminator column
Both struct and enum companion types get from_rows() (sequential) and
from_rows_par() (parallel, #[cfg(feature = "rayon")]) methods automatically.