0.5.4
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
generators.h File Reference
#include "class_diagram/generators/json/class_diagram_generator.h"
#include "class_diagram/generators/mermaid/class_diagram_generator.h"
#include "class_diagram/generators/plantuml/class_diagram_generator.h"
#include "cli/cli_handler.h"
#include "common/compilation_database.h"
#include "common/model/filters/diagram_filter_factory.h"
#include "config/config.h"
#include "include_diagram/generators/json/include_diagram_generator.h"
#include "include_diagram/generators/mermaid/include_diagram_generator.h"
#include "include_diagram/generators/plantuml/include_diagram_generator.h"
#include "indicators/indicators.hpp"
#include "package_diagram/generators/json/package_diagram_generator.h"
#include "package_diagram/generators/mermaid/package_diagram_generator.h"
#include "package_diagram/generators/plantuml/package_diagram_generator.h"
#include "sequence_diagram/generators/json/sequence_diagram_generator.h"
#include "sequence_diagram/generators/mermaid/sequence_diagram_generator.h"
#include "sequence_diagram/generators/plantuml/sequence_diagram_generator.h"
#include "util/util.h"
#include "version.h"
#include <clang/Frontend/CompilerInstance.h>
#include <clang/Tooling/Tooling.h>
#include <cstring>
#include <filesystem>
#include <fstream>
#include <future>
#include <iostream>
#include <map>
#include <string>
#include <util/thread_pool_executor.h>
#include <vector>

Go to the source code of this file.

Classes

struct  clanguml::common::generators::diagram_model_t< clanguml::config::class_diagram >
 
struct  clanguml::common::generators::diagram_model_t< clanguml::config::sequence_diagram >
 
struct  clanguml::common::generators::diagram_model_t< clanguml::config::package_diagram >
 
struct  clanguml::common::generators::diagram_model_t< clanguml::config::include_diagram >
 
struct  clanguml::common::generators::diagram_visitor_t< clanguml::config::class_diagram >
 
struct  clanguml::common::generators::diagram_visitor_t< clanguml::config::sequence_diagram >
 
struct  clanguml::common::generators::diagram_visitor_t< clanguml::config::package_diagram >
 
struct  clanguml::common::generators::diagram_visitor_t< clanguml::config::include_diagram >
 
struct  clanguml::common::generators::plantuml_generator_tag
 
struct  clanguml::common::generators::json_generator_tag
 
struct  clanguml::common::generators::mermaid_generator_tag
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::class_diagram, plantuml_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::sequence_diagram, plantuml_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::package_diagram, plantuml_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::include_diagram, plantuml_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::class_diagram, json_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::sequence_diagram, json_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::package_diagram, json_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::include_diagram, json_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::class_diagram, mermaid_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::sequence_diagram, mermaid_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::package_diagram, mermaid_generator_tag >
 
struct  clanguml::common::generators::diagram_generator_t< clanguml::config::include_diagram, mermaid_generator_tag >
 
class  clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >
 Specialization of clang::ASTConsumer More...
 
class  clanguml::common::generators::diagram_fronted_action< DiagramModel, DiagramConfig, DiagramVisitor >
 Specialization of clang::ASTFrontendAction More...
 
class  clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >
 Specialization of clang::ASTFrontendAction More...
 

Namespaces

namespace  clanguml
 
namespace  clanguml::common
 
namespace  clanguml::common::generators
 

Functions

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.
 
template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
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
 
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.
 
void 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.
 
indicators::Color clanguml::common::generators::diagram_type_to_color (model::diagram_t diagram_type)
 Return indicators progress bar color for diagram type.