PandA-2024.02
Public Member Functions | Static Protected Attributes | Friends
technology_node Struct Referenceabstract

Abstract pure class for the technology structure. More...

#include <technology_node.hpp>

Inheritance diagram for technology_node:
Inheritance graph
[legend]
Collaboration diagram for technology_node:
Collaboration graph
[legend]

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ technology_node()

technology_node::technology_node ( )
default

Constructor.

◆ ~technology_node()

technology_node::~technology_node ( )
virtualdefault

Destructor.

Member Function Documentation

◆ get_kind()

virtual enum tec_kind technology_node::get_kind ( ) const
pure virtual

Virtual function used to find the real type of a technology_nodeinstance.

Returns
a tec_kind enum identifying the object type.

Referenced by structural_object::GetParameters(), and HDL_manager::write_module().

Here is the caller graph for this function:

◆ get_kind_text()

virtual std::string technology_node::get_kind_text ( ) const
pure virtual

Virtual function used to get the string name of a technology_node instance.

Returns
a string identifying the object type.

Referenced by operation::xwrite().

Here is the caller graph for this function:

◆ get_name()

virtual const std::string& technology_node::get_name ( ) const
pure virtual

◆ print()

virtual void technology_node::print ( std::ostream &  os) const
pure virtual

Virtual function that prints the class.

Parameters
osis 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().

Here is the caller graph for this function:

◆ xload()

virtual void technology_node::xload ( const xml_element Enode,
const technology_nodeRef  owner,
const ParameterConstRef  Param 
)
pure virtual

Load a technology_node starting from an xml file.

Parameters
nodeis a node of the xml tree.
owneris the refcount version of this.
TMis 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().

Here is the caller graph for this function:

◆ xwrite()

virtual void technology_node::xwrite ( xml_element rootnode,
const technology_nodeRef  tn,
const ParameterConstRef  Param 
)
pure virtual

Add a technology_node to an xml tree.

Parameters
rootnodeis 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().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const technology_nodeRef s 
)
friend

Friend definition of the << operator.

Pointer version.

Definition at line 344 of file technology_node.hpp.

Field Documentation

◆ PP

simple_indent technology_node::PP
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().


The documentation for this struct was generated from the following files:

Generated on Mon Feb 12 2024 13:04:05 for PandA-2024.02 by doxygen 1.8.13