use crate::error::Result;
pub trait TryFromRows<S>: Sized {
fn try_from_rows(value: S) -> Result<Self>;
}
pub trait FromRowIterator<R, T>
where
R: IntoIterator<Item = T>,
{
fn from_row_iter<I>(iter: I) -> Self
where
I: IntoIterator<Item = R>;
}
pub trait TryFromCols<S>: Sized {
fn try_from_cols(value: S) -> Result<Self>;
}
pub trait FromColIterator<C, T>
where
C: IntoIterator<Item = T>,
{
fn from_col_iter<I>(iter: I) -> Self
where
I: IntoIterator<Item = C>;
}
pub trait IntoRows<S> {
fn into_rows(self) -> S;
}
pub trait IntoCols<S> {
fn into_cols(self) -> S;
}