0.5.4
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Public Member Functions | List of all members
clanguml::config::class_diagram Struct Reference

Class diagram configuration. More...

Detailed Description

Class diagram configuration.

Definition at line 694 of file config.h.

#include <config.h>

Public Member Functions

 ~class_diagram () override=default
 
common::model::diagram_t type () const override
 
void initialize_relationship_hints ()
 
- Public Member Functions inherited from clanguml::config::diagram
 ~diagram () override=default
 
virtual common::model::diagram_t type () const =0
 
std::vector< std::string > glob_translation_units (const std::vector< std::string > &compilation_database_files) const
 Filter translation units based on glob patterns.
 
std::filesystem::path make_path_relative (const std::filesystem::path &p) const
 Make path relative to the relative_to config option.
 
std::vector< std::string > make_module_relative (const std::optional< std::string > &maybe_module) const
 Make module path relative to using_module configuration option.
 
std::filesystem::path root_directory () const
 Returns absolute path of the relative_to option.
 
std::optional< std::string > get_together_group (const std::string &full_name) const
 
void initialize_type_aliases ()
 Initialize predefined set of C++ type aliases.
 
- Public Member Functions inherited from clanguml::config::inheritable_diagram_options
virtual ~inheritable_diagram_options ()=default
 
void inherit (const inheritable_diagram_options &parent)
 
std::string simplify_template_type (std::string full_name) const
 
bool generate_fully_qualified_name () const
 Whether the diagram element should be fully qualified in diagram.
 
option< std::filesystem::path > & get_relative_to ()
 Get reference to relative_to diagram config option.
 

Additional Inherited Members

- Public Attributes inherited from clanguml::config::diagram
std::string name
 
option< std::string > title {"title"}
 
- Public Attributes inherited from clanguml::config::inheritable_diagram_options
option< std::vector< common::string_or_regex > > glob {"glob"}
 
option< common::model::namespace_using_namespace {"using_namespace"}
 
option< std::string > using_module {"using_module"}
 
option< bool > include_relations_also_as_members
 
option< filter_mode_tfilter_mode {"filter_mode", filter_mode_t::basic}
 
option< bool > include_system_headers {"include_system_headers", false}
 
option< filterinclude {"include"}
 
option< filterexclude {"exclude"}
 
option< plantumlpuml {"plantuml", option_inherit_mode::kAppend}
 
option< struct mermaidmermaid {"mermaid", option_inherit_mode::kAppend}
 
option< method_argumentsgenerate_method_arguments
 
option< bool > generate_concept_requirements
 
option< bool > group_methods {"group_methods", true}
 
option< member_order_tmember_order
 
option< bool > generate_packages {"generate_packages", false}
 
option< package_type_tpackage_type
 
option< bool > generate_template_argument_dependencies
 
option< bool > skip_redundant_dependencies
 
option< generate_links_configgenerate_links {"generate_links"}
 
option< git_configgit {"git"}
 
option< layout_hintslayout {"layout"}
 
option< std::filesystem::path > base_directory {"__parent_path"}
 
option< bool > generate_system_headers {"generate_system_headers", false}
 
option< relationship_hints_trelationship_hints {"relationship_hints"}
 
option< type_aliases_ttype_aliases
 
option< comment_parser_tcomment_parser
 
option< bool > combine_free_functions_into_file_participants
 
option< bool > inline_lambda_messages {"inline_lambda_messages", false}
 
option< bool > generate_return_types {"generate_return_types", false}
 
option< bool > generate_condition_statements
 
option< std::vector< std::string > > participants_order {"participants_order"}
 
option< bool > generate_message_comments {"generate_message_comments", false}
 
option< unsigned > message_comment_width
 
option< bool > debug_mode {"debug_mode", false}
 
option< bool > generate_metadata {"generate_metadata", true}
 
option< bool > allow_empty_diagrams {"allow_empty_diagrams", false}
 
- Protected Attributes inherited from clanguml::config::inheritable_diagram_options
option< std::filesystem::path > relative_to {"relative_to"}
 

Constructor & Destructor Documentation

◆ ~class_diagram()

clanguml::config::class_diagram::~class_diagram ( )
overridedefault

Member Function Documentation

◆ initialize_relationship_hints()

void clanguml::config::class_diagram::initialize_relationship_hints ( )

Definition at line 475 of file config.cc.

476{
478
479 if (relationship_hints().count("std::vector") == 0U) {
480 relationship_hints().insert({"std::vector", {}});
481 }
482 if (relationship_hints().count("std::unique_ptr") == 0U) {
483 relationship_hints().insert({"std::unique_ptr", {}});
484 }
485 if (relationship_hints().count("std::shared_ptr") == 0U) {
486 relationship_hints().insert(
487 {"std::shared_ptr", {relationship_t::kAssociation}});
488 }
489 if (relationship_hints().count("std::weak_ptr") == 0U) {
490 relationship_hints().insert(
491 {"std::weak_ptr", {relationship_t::kAssociation}});
492 }
493 if (relationship_hints().count("std::tuple") == 0U) {
494 relationship_hints().insert({"std::tuple", {}});
495 }
496 if (relationship_hints().count("std::map") == 0U) {
497 relationship_hint_t hint{relationship_t::kNone};
498 hint.argument_hints.insert({1, relationship_t::kAggregation});
499 relationship_hints().insert({"std::tuple", std::move(hint)});
500 }
501}

◆ type()

common::model::diagram_t clanguml::config::class_diagram::type ( ) const
overridevirtual

Implements clanguml::config::diagram.

Definition at line 455 of file config.cc.

456{
458}

The documentation for this struct was generated from the following files: