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_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor > Class Template Reference

Specialization of clang::ASTFrontendAction More...

Detailed Description

template<typename DiagramModel, typename DiagramConfig, typename DiagramVisitor>
class clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >

Specialization of clang::ASTFrontendAction

This class overrides the create() method in order to create an instance of diagram_frontend_action of appropriate type.

Template Parameters
DiagramModelType of diagram_model
DiagramConfigType of diagram_config
TranslationUnitVisitorType of translation_unit_visitor

Definition at line 324 of file generators.h.

#include <generators.h>

Public Member Functions

 diagram_action_visitor_factory (DiagramModel &diagram, const DiagramConfig &config, std::function< void()> progress)
 
std::unique_ptr< clang::FrontendAction > create () override
 

Private Attributes

DiagramModel & diagram_
 
const DiagramConfig & config_
 
std::function< void()> progress_
 

Constructor & Destructor Documentation

◆ diagram_action_visitor_factory()

template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >::diagram_action_visitor_factory ( DiagramModel &  diagram,
const DiagramConfig &  config,
std::function< void()>  progress 
)
inlineexplicit

Definition at line 327 of file generators.h.

329 : diagram_{diagram}
330 , config_{config}
331 , progress_{std::move(progress)}
332 {
333 }

Member Function Documentation

◆ create()

template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
std::unique_ptr< clang::FrontendAction > clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >::create ( )
inlineoverride

Definition at line 335 of file generators.h.

336 {
337 return std::make_unique<diagram_fronted_action<DiagramModel,
338 DiagramConfig, DiagramVisitor>>(diagram_, config_, progress_);
339 }

Member Data Documentation

◆ config_

template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
const DiagramConfig& clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >::config_
private

Definition at line 343 of file generators.h.

◆ diagram_

template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
DiagramModel& clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >::diagram_
private

Definition at line 342 of file generators.h.

◆ progress_

template<typename DiagramModel , typename DiagramConfig , typename DiagramVisitor >
std::function<void()> clanguml::common::generators::diagram_action_visitor_factory< DiagramModel, DiagramConfig, DiagramVisitor >::progress_
private

Definition at line 344 of file generators.h.


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