PandA-2024.02
|
Abstract pure class for the technology structure. More...
#include <technology_node.hpp>
Public Member Functions | |
technology_node () | |
Constructor. More... | |
virtual | ~technology_node () |
Destructor. More... | |
virtual const std::string & | get_name () const =0 |
Return the name of the technology node. More... | |
virtual void | xload (const xml_element *Enode, const technology_nodeRef owner, const ParameterConstRef Param)=0 |
Load a technology_node starting from an xml file. More... | |
virtual void | xwrite (xml_element *rootnode, const technology_nodeRef tn, const ParameterConstRef Param)=0 |
Add a technology_node to an xml tree. More... | |
virtual void | print (std::ostream &os) const =0 |
Virtual function that prints the class. More... | |
virtual std::string | get_kind_text () const =0 |
Virtual function used to get the string name of a technology_node instance. More... | |
virtual enum tec_kind | get_kind () const =0 |
Virtual function used to find the real type of a technology_nodeinstance. More... | |
Static Protected Attributes | |
static simple_indent | PP |
pretty print functor object used by all print members to indent the output of the print function. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const technology_nodeRef &s) |
Friend definition of the << operator. More... | |
Abstract pure class for the technology structure.
This node and in particular its refCount type will be used to describe all nodes used to build a technology description.
Definition at line 290 of file technology_node.hpp.
|
default |
Constructor.
|
virtualdefault |
Destructor.
|
pure virtual |
Virtual function used to find the real type of a technology_nodeinstance.
Referenced by structural_object::GetParameters(), and HDL_manager::write_module().
|
pure virtual |
Virtual function used to get the string name of a technology_node instance.
Referenced by operation::xwrite().
|
pure virtual |
Return the name of the technology node.
Implemented in functional_unit_template, functional_unit, and operation.
Referenced by library_manager::add(), functional_unit::add(), allocation::add_proxy_function_module(), allocation::add_proxy_function_wrapper(), allocation::add_tech_constraint(), FunctionalUnitStep::AnalyzeFu(), functional_unit_template::get_name(), allocation::IntegrateTechnologyLibraries(), allocation::InternalExec(), library_manager::update(), library_manager::xload(), and operation::xload().
|
pure virtual |
Virtual function that prints the class.
os | is the output stream |
Implemented in functional_unit_template, functional_unit, and operation.
Referenced by functional_unit::get_name(), functional_unit_template::get_name(), operation::is_primary_inputs_registered(), and functional_unit_template::print().
|
pure virtual |
Load a technology_node starting from an xml file.
node | is a node of the xml tree. |
owner | is the refcount version of this. |
TM | is the technology manager. |
Implemented in functional_unit_template, functional_unit, and operation.
Referenced by operation::get_name(), functional_unit::get_name(), functional_unit_template::get_name(), library_manager::xload(), functional_unit::xload(), and functional_unit_template::xload().
|
pure virtual |
Add a technology_node to an xml tree.
rootnode | is the root node at which the xml representation of the technology node is attached. |
Implemented in functional_unit_template, functional_unit, and operation.
Referenced by operation::get_name(), functional_unit::get_name(), functional_unit_template::get_name(), and functional_unit_template::xwrite().
|
friend |
Friend definition of the << operator.
Pointer version.
Definition at line 344 of file technology_node.hpp.
|
staticprotected |
pretty print functor object used by all print members to indent the output of the print function.
Definition at line 355 of file technology_node.hpp.
Referenced by functional_unit::print().