0.6.0
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 381 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 384 of file generators.h.

386 : diagram_{diagram}
387 , config_{config}
388 , progress_{std::move(progress)}
389 {
390 }

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 392 of file generators.h.

393 {
394 return std::make_unique<diagram_fronted_action<DiagramModel,
395 DiagramConfig, DiagramVisitor>>(diagram_, config_, progress_);
396 }

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 400 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 399 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 401 of file generators.h.


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