Trait libreda_db::hierarchy::util::HierarchyUtil
source · [−]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
fn is_top_level_cell(&self, cell: &Self::CellId) -> bool
fn is_top_level_cell(&self, cell: &Self::CellId) -> bool
Check if the cell is a top level cell. This is done by checking that no other cells have an instance of this cell.
fn is_leaf_cell(&self, cell: &Self::CellId) -> bool
fn is_leaf_cell(&self, cell: &Self::CellId) -> bool
Check if the cell is a leaf cell. This is done by checking that this cell contains no other cell instances.
fn each_top_level_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
fn each_top_level_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
Iterate over all top level cells.
fn each_leaf_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
fn each_leaf_cell(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
Iterate over all leaf cells, i.e. cells which contain no other cells.
fn each_cell_bottom_to_top(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
fn each_cell_bottom_to_top(&self) -> Box<dyn Iterator<Item = Self::CellId> + '_>
Iterate over topologically sorted cells (from leaf-cells to top-cells).