Namespaces | |
namespace | detail |
namespace | graphml |
namespace | json |
namespace | mermaid |
namespace | plantuml |
Functions | |
void | make_context_source_relative (inja::json &context, const std::string &prefix) |
void | find_translation_units_for_diagrams (const std::vector< std::string > &diagram_names, clanguml::config::config &config, const std::vector< std::string > &compilation_database_files, std::map< std::string, std::vector< std::string > > &translation_units_map) |
Assign translation units to diagrams. | |
void | render_diagram (const clanguml::common::generator_type_t generator_type, std::shared_ptr< config::diagram > diagram_config) |
void | generate_diagram (const std::string &name, std::shared_ptr< clanguml::config::diagram > diagram, const common::compilation_database &db, const std::vector< std::string > &translation_units, const cli::runtime_config &runtime_config, std::function< void()> &&progress) |
Generate a single diagram. | |
int | generate_diagrams (const std::vector< std::string > &diagram_names, clanguml::config::config &config, const common::compilation_database_ptr &db, const cli::runtime_config &runtime_config, const std::map< std::string, std::vector< std::string > > &translation_units_map) |
Generate diagrams. | |
indicators::Color | diagram_type_to_color (model::diagram_t diagram_type) |
Return indicators progress bar color for diagram type. | |
template<typename GeneratorTag > | |
constexpr bool | generator_supports_diagram_type (clanguml::common::model::diagram_t dt) |
template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor > | |
std::unique_ptr< DiagramModel > | generate (const common::compilation_database &db, const std::string &name, DiagramConfig &config, const std::vector< std::string > &translation_units, bool=false, std::function< void()> progress={}) |
Specialization of clang::ASTFrontendAction | |
indicators::Color clanguml::common::generators::diagram_type_to_color | ( | model::diagram_t | diagram_type | ) |
Return indicators progress bar color for diagram type.
diagram_type | Diagram type |
Definition at line 455 of file generators.cc.
void clanguml::common::generators::find_translation_units_for_diagrams | ( | const std::vector< std::string > & | diagram_names, |
clanguml::config::config & | config, | ||
const std::vector< std::string > & | compilation_database_files, | ||
std::map< std::string, std::vector< std::string > > & | translation_units_map | ||
) |
Assign translation units to diagrams.
This function assigns for each diagram to be generated the list of translation units based on it's glob
pattern if any.
If diagram_names
is empty, this function processes all diagrams in config
.
diagram_names | List of diagram names, applies to all if empty |
config | Reference to config instance |
compilation_database_files | List of files found in compilation database |
translation_units_map | Resulting translation units map is stored here |
Definition at line 46 of file generators.cc.
std::unique_ptr< DiagramModel > clanguml::common::generators::generate | ( | const common::compilation_database & | db, |
const std::string & | name, | ||
DiagramConfig & | config, | ||
const std::vector< std::string > & | translation_units, | ||
bool | = false , |
||
std::function< void()> | progress = {} |
||
) |
Specialization of clang::ASTFrontendAction
This is the entry point function to initiate AST frontend action for a specific diagram.
DiagramModel | Type of diagram_model |
DiagramConfig | Type of diagram_config |
TranslationUnitVisitor | Type of translation_unit_visitor |
Definition at line 419 of file generators.h.
void clanguml::common::generators::generate_diagram | ( | const std::string & | name, |
std::shared_ptr< clanguml::config::diagram > | diagram, | ||
const common::compilation_database & | db, | ||
const std::vector< std::string > & | translation_units, | ||
const cli::runtime_config & | runtime_config, | ||
std::function< void()> && | progress | ||
) |
Generate a single diagram.
name | Name of the diagram |
diagram | Effective diagram configuration |
db | Reference to compilation database |
translation_units | List of translation units for the diagram |
generators | List of generator types to be used for the diagram |
verbose | Log level |
progress | Function to report translation unit progress |
Definition at line 212 of file generators.cc.
int clanguml::common::generators::generate_diagrams | ( | const std::vector< std::string > & | diagram_names, |
clanguml::config::config & | config, | ||
const common::compilation_database_ptr & | db, | ||
const cli::runtime_config & | runtime_config, | ||
const std::map< std::string, std::vector< std::string > > & | translation_units_map | ||
) |
Generate diagrams.
diagram_names | List of diagram names to generate |
config | Reference to config instance |
output_directory | Path to output directory |
db | Reference to compilation database |
verbose | Log level |
thread_count | Number of diagrams to be generated in parallel |
progress | Whether progress indicators should be displayed |
generators | List of generator types to use for each diagram |
translation_units_map | Map of translation units for each file |
Definition at line 244 of file generators.cc.
void clanguml::common::generators::make_context_source_relative | ( | inja::json & | context, |
const std::string & | prefix | ||
) |
Definition at line 24 of file generators.cc.
void clanguml::common::generators::render_diagram | ( | const clanguml::common::generator_type_t | generator_type, |
std::shared_ptr< config::diagram > | diagram_config | ||
) |
Definition at line 66 of file generators.cc.