| 1 | /// Indent represent a filled space. |
| 2 | #[derive (Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] |
| 3 | pub struct Indent { |
| 4 | /// A fill character. |
| 5 | pub fill: char, |
| 6 | /// A number of repeats of a fill character. |
| 7 | pub size: usize, |
| 8 | } |
| 9 | |
| 10 | impl Indent { |
| 11 | /// Creates a new Indent structure. |
| 12 | pub const fn new(size: usize, fill: char) -> Self { |
| 13 | Self { fill, size } |
| 14 | } |
| 15 | |
| 16 | /// Creates a new Indent structure with space (`' '`) as a fill character. |
| 17 | pub const fn spaced(size: usize) -> Self { |
| 18 | Self { size, fill: ' ' } |
| 19 | } |
| 20 | |
| 21 | /// Creates a new Indent structure with space (`' '`) as a fill character. |
| 22 | pub const fn zero() -> Self { |
| 23 | Self::new(size:0, fill:' ' ) |
| 24 | } |
| 25 | } |
| 26 | |
| 27 | impl Default for Indent { |
| 28 | fn default() -> Self { |
| 29 | Self { size: 0, fill: ' ' } |
| 30 | } |
| 31 | } |
| 32 | |