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::model::template_element Class Reference

Base class for any element qualified by namespace. More...

Detailed Description

Base class for any element qualified by namespace.

Definition at line 28 of file template_element.h.

#include <template_element.h>

Public Member Functions

 ~template_element () override=default
 
bool is_template () const
 
void is_template (bool is_template)
 
int calculate_template_specialization_match (const template_element &other) const
 Calculate template specialization match with other class.
 
bool template_specialization_found () const
 
void template_specialization_found (bool found)
 
 element (namespace_ using_namespace, path_type pt=path_type::kNamespace)
 
- Public Member Functions inherited from clanguml::common::model::element
 element (namespace_ using_namespace, path_type pt=path_type::kNamespace)
 
 ~element () override=default
 
std::string name_and_ns () const
 
void set_namespace (const namespace_ &ns)
 
namespace_ get_namespace () const
 
namespace_ get_relative_namespace () const
 
const namespace_path () const
 
void set_module (const std::string &module)
 
std::optional< std::string > module () const
 
void set_module_private (const bool module_private)
 
bool module_private () const
 
std::string full_name (bool relative) const override
 
virtual std::string full_name_no_ns () const
 
const namespace_using_namespace () const
 
inja::json context () const override
 
- Public Member Functions inherited from clanguml::common::model::diagram_element
 diagram_element ()
 
 ~diagram_element () override=default
 
const eid_tid () const
 Returns diagram element id.
 
void set_id (eid_t id)
 
std::optional< eid_tparent_element_id () const
 
void set_parent_element_id (eid_t id)
 
virtual std::string alias () const
 Return elements' diagram alias.
 
void set_name (const std::string &name)
 
std::string name () const
 
virtual std::string type_name () const
 
virtual std::string full_name (bool) const
 Return the elements fully qualified name.
 
std::vector< relationship > & relationships ()
 
const std::vector< relationship > & relationships () const
 
void add_relationship (relationship &&cr)
 
void append (const decorated_element &e)
 
virtual inja::json context () const
 
bool is_nested () const
 
void nested (bool nested)
 
bool complete () const
 
void complete (bool completed)
 
virtual void apply_filter (const diagram_filter &filter, const std::set< eid_t > &removed)
 
- Public Member Functions inherited from clanguml::common::model::decorated_element
virtual ~decorated_element ()=default
 
bool skip () const
 
bool skip_relationship () const
 
std::pair< relationship_t, std::string > get_relationship () const
 
std::string style_spec () const
 
const std::vector< std::shared_ptr< decorators::decorator > > & decorators () const
 
void add_decorators (const std::vector< std::shared_ptr< decorators::decorator > > &decorators)
 
void append (const decorated_element &de)
 
std::optional< comment_tcomment () const
 
void set_comment (const comment_t &c)
 
virtual std::optional< std::string > doxygen_link () const
 
- Public Member Functions inherited from clanguml::common::model::source_location
 source_location ()=default
 
 source_location (std::string f, unsigned int l)
 
const std::string & file () const
 
void set_file (const std::string &file)
 
const std::string & file_relative () const
 
void set_file_relative (const std::string &file)
 
const std::string & translation_unit () const
 
void set_translation_unit (const std::string &translation_unit)
 
unsigned int line () const
 
void set_line (const unsigned line)
 
unsigned int column () const
 
void set_column (const unsigned column)
 
unsigned int location_id () const
 
void set_location_id (unsigned int h)
 
- Public Member Functions inherited from clanguml::common::model::template_trait
std::ostream & render_template_params (std::ostream &ostr, const common::model::namespace_ &using_namespace, bool relative) const
 
void add_template (template_parameter &&tmplt)
 
const std::vector< template_parameter > & template_params () const
 
int calculate_template_specialization_match (const template_trait &other) const
 Wrapper around calculate_template_params_specialization_match()
 

Private Attributes

bool template_specialization_found_ {false}
 
bool is_template_ {false}
 

Constructor & Destructor Documentation

◆ ~template_element()

clanguml::common::model::template_element::~template_element ( )
overridedefault

Member Function Documentation

◆ calculate_template_specialization_match()

int clanguml::common::model::template_element::calculate_template_specialization_match ( const template_element other) const

Calculate template specialization match with other class.

This method is a wrapper over template_trait::calculate_template_specialization_match()

Parameters
other
Returns

Definition at line 30 of file template_element.cc.

32{
33 int res{0};
34
35 if (name_and_ns() != other.name_and_ns()) {
36 return res;
37 }
38
40}

◆ element()

clanguml::common::model::element::element ( namespace_  using_namespace,
path_type  pt = path_type::kNamespace 
)

Definition at line 40 of file element.cc.

29 : ns_{pt}
31{
32}

◆ is_template() [1/2]

bool clanguml::common::model::template_element::is_template ( ) const

Whether or not the class is a template.

Returns
True, if the class is a template.

Definition at line 23 of file template_element.cc.

23{ return is_template_; }

◆ is_template() [2/2]

void clanguml::common::model::template_element::is_template ( bool  is_template)

Set, whether the class is a template.

Parameters
is_structTrue, if the class is a template.

Definition at line 25 of file template_element.cc.

26{
28}

◆ template_specialization_found() [1/2]

bool clanguml::common::model::template_element::template_specialization_found ( ) const

Whether, a template specialization has already been found for this class.

Returns
True, if a template specialization has already been found.

Definition at line 47 of file template_element.cc.

48{
50}

◆ template_specialization_found() [2/2]

void clanguml::common::model::template_element::template_specialization_found ( bool  found)

Set, whether a template specialization has already been found for this class.

Parameters
foundTrue, if a template specialization has already been found.

Definition at line 42 of file template_element.cc.

43{
45}

Member Data Documentation

◆ is_template_

bool clanguml::common::model::template_element::is_template_ {false}
private

Definition at line 76 of file template_element.h.

◆ template_specialization_found_

bool clanguml::common::model::template_element::template_specialization_found_ {false}
private

Definition at line 75 of file template_element.h.


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