polars_rows_iter/iter_from_column/
iter_from_column_trait.rs

1use polars::prelude::*;
2
3pub trait IterFromColumn<'a> {
4    type RawInner;
5    fn create_iter(column: &'a Column) -> PolarsResult<Box<dyn Iterator<Item = Option<Self::RawInner>> + 'a>>
6    where
7        Self: Sized;
8
9    fn get_value(polars_value: Option<Self::RawInner>, column_name: &str, dtype: &DataType) -> PolarsResult<Self>
10    where
11        Self: Sized;
12
13    #[inline]
14    fn unexpected_null_value_error(column_name: &str) -> PolarsError {
15        polars_err!(SchemaMismatch: "Found unexpected None/null value in column {column_name} with mandatory values!")
16    }
17}