 |
Cerata
A library to generate structural hardware designs
|
17 #include <unordered_map>
23 #include "cerata/graph.h"
32 std::unordered_map<std::string, std::string>
meta = {};
41 explicit OutputGenerator(std::string root_dir, std::vector<OutputSpec> outputs = {});
std::string root_dir_
The root directory to generate the output in.
Structure to specify output properties per graph.
OutputGenerator & AddOutput(const OutputSpec &output)
Add a graph to the list of graphs to generate output for.
Contains every Cerata class, function, etc...
virtual void Generate()=0
Start the output generation.
Abstract class to generate language specific output from Graphs.
Component * comp
The component to output.
virtual std::string subdir()=0
Return the subdirectory this OutputGenerator will generate into.
std::unordered_map< std::string, std::string > meta
Metadata for back-ends.
std::vector< OutputSpec > outputs_
A list of things to put out.
OutputGenerator(std::string root_dir, std::vector< OutputSpec > outputs={})
Construct an OutputGenerator.