51 const DesignFlowManagerConstRef _design_flow_manager,
63 const auto output_file =
parameters->isOption(OPT_output_file) ?
64 parameters->getOption<std::string>(OPT_output_file) :
76 for(
const auto& library : libraries)
81 catch(
const char* msg)
85 catch(
const std::string& msg)
89 catch(
const std::exception& ex)
91 PRINT_OUT_MEX(0, 0, std::string(
"Exception caught: ") + ex.what());
104 switch(relationship_type)
127 return relationships;
File containing functions and utilities to support the printing of debug messagges.
xml nodes used in technology libraries files
void xwrite(xml_element *rootnode, const CustomOrderedSet< std::string > &libraries=CustomOrderedSet< std::string >())
add library elements operation node to an xml tree.
const int output_level
The output level.
void set_info(unsigned int type, const std::string &information)
RelationshipType
The relationship type.
Source must be executed to satisfy target.
#define INDENT_OUT_MEX(outLevel, curOutLevel, mex)
const std::vector< std::string > & get_library_list() const
Return the list of the libraries.
Class specification of the manager of the technology library data structures.
#define THROW_UNREACHABLE(str_expr)
helper function used to specify that some points should never be reached
Target must be reexecuted.
void write_to_file_formatted(const std::filesystem::path &filename)
Write the document to a file.
const technology_managerRef TM
The technology manager.
xml_element * create_root_node(const std::string &_name)
Creates the root node.
utility function used to read files.
WriteTechnology(const technology_managerRef TM, const generic_deviceRef target, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
Constructor.
const ParameterConstRef parameters
Set of input parameters.
DesignFlowStep_Status
The status of a step.
std::string GetPath(std::filesystem::path path)
#define OUTPUT_LEVEL_VERY_PEDANTIC
verbose debugging print is performed.
Step to writes technology as xml file.
const CustomUnorderedSet< TechnologyFlowStep_Type > ComputeTechnologyRelationships(const DesignFlowStep::RelationshipType relationship_type) const override
Return the set of analyses in relationship with this design step.
this class is used to manage the command-line or XML options.
Generic device description.
Class specification of the manager for each library.
#define PRINT_OUT_MEX(profLevel, curprofLevel, mex)
xml_element * add_child_element(const std::string &name)
Add a child element to this node.
library_managerRef get_library_manager(const std::string &Name) const
Return the library data structure corresponding to the given library id.
DesignFlowStep_Status Exec() override
Execute the step.
~WriteTechnology() override
Destructor.
const generic_deviceRef target
The target device.