#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct GridShape {
pub rows: u32,
pub cols: u32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum GridExtent {
Bounded(GridShape),
UnboundedRows { cols: u32 },
UnboundedCols { rows: u32 },
Unknown,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum RangeCardinality {
Scalar,
Bounded { rows: u32, cols: u32 },
UnboundedRows { cols: u32 },
UnboundedCols { rows: u32 },
Unknown,
}