pub trait HierarchyUtil: HierarchyBase {
    fn is_top_level_cell(&self, cell: &Self::CellId) -> bool { ... }
    fn is_leaf_cell(&self, cell: &Self::CellId) -> bool { ... }
    fn each_top_level_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_> { ... }
    fn each_leaf_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_> { ... }
    fn each_cell_bottom_to_top(
        &self
    ) -> Box<dyn Iterator<Item = Self::CellId> + '_> { ... } }
Expand description

Non-modifying utility functions for the cell hierarchy.. Import the this trait to use the utility functions all types that implement the HierarchyBase trait.

Provided Methods

Check if the cell is a top level cell. This is done by checking that no other cells have an instance of this cell.

Check if the cell is a leaf cell. This is done by checking that this cell contains no other cell instances.

Iterate over all top level cells.

Iterate over all leaf cells, i.e. cells which contain no other cells.

Iterate over topologically sorted cells (from leaf-cells to top-cells).

Implementors