ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
Loading...
Searching...
No Matches
zlayout::components::ComponentUtils Namespace Reference

Utility functions for component hierarchy. More...

Functions

void traversePreOrder (std::shared_ptr< Component > root, std::function< void(std::shared_ptr< Component >)> visitor)
void traversePostOrder (std::shared_ptr< Component > root, std::function< void(std::shared_ptr< Component >)> visitor)
size_t countComponents (std::shared_ptr< Component > root, ComponentCategory category)
double calculateTotalPower (std::shared_ptr< Component > root)
double calculateCriticalPath (std::shared_ptr< Component > root)
std::vector< std::shared_ptr< Component > > groupComponentsByFunction (const std::vector< std::shared_ptr< Component > > &components)
std::shared_ptr< ComponentcreateHierarchicalBlock (const std::vector< std::shared_ptr< Component > > &components, const std::string &block_name)

Detailed Description

Utility functions for component hierarchy.

Function Documentation

◆ calculateCriticalPath()

double zlayout::components::ComponentUtils::calculateCriticalPath ( std::shared_ptr< Component > root)

◆ calculateTotalPower()

double zlayout::components::ComponentUtils::calculateTotalPower ( std::shared_ptr< Component > root)

◆ countComponents()

size_t zlayout::components::ComponentUtils::countComponents ( std::shared_ptr< Component > root,
ComponentCategory category )

◆ createHierarchicalBlock()

std::shared_ptr< Component > zlayout::components::ComponentUtils::createHierarchicalBlock ( const std::vector< std::shared_ptr< Component > > & components,
const std::string & block_name )

◆ groupComponentsByFunction()

std::vector< std::shared_ptr< Component > > zlayout::components::ComponentUtils::groupComponentsByFunction ( const std::vector< std::shared_ptr< Component > > & components)

◆ traversePostOrder()

void zlayout::components::ComponentUtils::traversePostOrder ( std::shared_ptr< Component > root,
std::function< void(std::shared_ptr< Component >)> visitor )

◆ traversePreOrder()

void zlayout::components::ComponentUtils::traversePreOrder ( std::shared_ptr< Component > root,
std::function< void(std::shared_ptr< Component >)> visitor )