tabled/grid/dimension/
zero_dimension.rs

1use crate::grid::dimension::{Dimension, Estimate};
2
3/// A constant dimension.
4#[derive(Debug, Default, Clone, Copy, Hash, PartialEq, Eq, PartialOrd, Ord)]
5pub struct ZeroDimension {}
6
7impl ZeroDimension {
8    /// Creates new dimension object.
9    pub fn new() -> Self {
10        Self {}
11    }
12}
13
14impl Dimension for ZeroDimension {
15    fn get_width(&self, _: usize) -> usize {
16        0
17    }
18
19    fn get_height(&self, _: usize) -> usize {
20        0
21    }
22}
23
24impl<R, C> Estimate<R, C> for ZeroDimension {
25    fn estimate(&mut self, _: R, _: &C) {}
26}