0.5.4
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor > Class Template Reference

Specialization of clang::ASTConsumer More...

Detailed Description

template<typename DiagramModel, typename DiagramConfig, typename TranslationUnitVisitor>
class clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >

Specialization of clang::ASTConsumer

This class provides overriden HandleTranslationUnit() method, which calls a translation_unit_visitor for a specific diagram type on each translation unit assigned to the diagram.

Template Parameters
DiagramModelType of diagram_model
DiagramConfigType of diagram_config
TranslationUnitVisitorType of translation_unit_visitor

Definition at line 224 of file generators.h.

#include <generators.h>

Public Member Functions

 diagram_ast_consumer (clang::CompilerInstance &ci, DiagramModel &diagram, const DiagramConfig &config)
 
TranslationUnitVisitor & visitor ()
 
void HandleTranslationUnit (clang::ASTContext &ast_context) override
 

Private Attributes

TranslationUnitVisitor visitor_
 

Constructor & Destructor Documentation

◆ diagram_ast_consumer()

template<typename DiagramModel , typename DiagramConfig , typename TranslationUnitVisitor >
clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >::diagram_ast_consumer ( clang::CompilerInstance &  ci,
DiagramModel &  diagram,
const DiagramConfig &  config 
)
inlineexplicit

Definition at line 228 of file generators.h.

230 : visitor_{ci.getSourceManager(), diagram, config}
231 {
232 }

Member Function Documentation

◆ HandleTranslationUnit()

template<typename DiagramModel , typename DiagramConfig , typename TranslationUnitVisitor >
void clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >::HandleTranslationUnit ( clang::ASTContext &  ast_context)
inlineoverride

Definition at line 236 of file generators.h.

237 {
238 visitor_.TraverseDecl(ast_context.getTranslationUnitDecl());
239 visitor_.finalize();
240 }

◆ visitor()

template<typename DiagramModel , typename DiagramConfig , typename TranslationUnitVisitor >
TranslationUnitVisitor & clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >::visitor ( )
inline

Definition at line 234 of file generators.h.

234{ return visitor_; }

Member Data Documentation

◆ visitor_

template<typename DiagramModel , typename DiagramConfig , typename TranslationUnitVisitor >
TranslationUnitVisitor clanguml::common::generators::diagram_ast_consumer< DiagramModel, DiagramConfig, TranslationUnitVisitor >::visitor_
private

Definition at line 225 of file generators.h.


The documentation for this class was generated from the following file: