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::package Class Reference

Diagram element representing namespace or directory package. More...

Detailed Description

Diagram element representing namespace or directory package.

Definition at line 40 of file package.h.

#include <package.h>

Public Member Functions

 package (const common::model::path &using_namespace, path_type pt=path_type::kNamespace)
 
 package (const package &)=delete
 
 package (package &&)=default
 
packageoperator= (const package &)=delete
 
packageoperator= (package &&)=delete
 
std::string type_name () const override
 
std::string full_name (bool relative) const override
 
bool is_deprecated () const
 
void set_deprecated (bool deprecated)
 
std::optional< std::string > doxygen_link () const override
 Generate Doxygen style HTML link for the class.
 
- 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::stylable_element
void set_style (const std::string &style)
 
std::optional< std::string > style () const
 
- Public Member Functions inherited from clanguml::common::model::nested_trait< element, path >
 nested_trait ()=default
 
 nested_trait (const nested_trait &)=delete
 
 nested_trait (nested_trait &&) noexcept=default
 
nested_traitoperator= (const nested_trait &)=delete
 
nested_traitoperator= (nested_trait &&) noexcept=default
 
virtual ~nested_trait ()=default
 
bool add_element (std::unique_ptr< V > p)
 
bool add_element (const path &path, std::unique_ptr< V > p)
 
auto get_element (const path &path) const
 
auto get_element (const std::string &name) const
 
bool has_element (const std::string &name) const
 
bool all_of (F &&f) const
 
bool is_empty () const
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 
auto cbegin () const
 
auto cend () const
 
void print_tree (const int level)
 
void remove (const std::set< eid_t > &element_ids)
 

Private Attributes

bool is_deprecated_ {false}
 

Constructor & Destructor Documentation

◆ package() [1/3]

clanguml::common::model::package::package ( const common::model::path using_namespace,
path_type  pt = path_type::kNamespace 
)

Definition at line 24 of file package.cc.

26{
27}

◆ package() [2/3]

clanguml::common::model::package::package ( const package )
delete

◆ package() [3/3]

clanguml::common::model::package::package ( package &&  )
default

Member Function Documentation

◆ doxygen_link()

std::optional< std::string > clanguml::common::model::package::doxygen_link ( ) const
overridevirtual

Generate Doxygen style HTML link for the class.

This method generates a link, which can be used in SVG diagrams to create links from classes to Doxygen documentation pages.

Returns
Doxygen-style HTML link for the class.

Reimplemented from clanguml::common::model::decorated_element.

Definition at line 43 of file package.cc.

44{
45 auto name = full_name(false);
46 util::replace_all(name, "_", "__");
47 util::replace_all(name, "::", "_1_1");
48 return fmt::format("namespace{}.html", name);
49}

◆ full_name()

std::string clanguml::common::model::package::full_name ( bool  relative) const
overridevirtual

Return elements full name.

Returns
Fully qualified elements name.

Reimplemented from clanguml::common::model::element.

Definition at line 29 of file package.cc.

30{
31 if (relative) {
33 return res.to_string();
34 }
35
36 return (get_namespace() | name()).to_string();
37}

◆ is_deprecated()

bool clanguml::common::model::package::is_deprecated ( ) const

Returns whether the namespace is deprecated.

Returns
True, if namespace is deprecated.

Definition at line 39 of file package.cc.

39{ return is_deprecated_; }

◆ operator=() [1/2]

package & clanguml::common::model::package::operator= ( const package )
delete

◆ operator=() [2/2]

package & clanguml::common::model::package::operator= ( package &&  )
delete

◆ set_deprecated()

void clanguml::common::model::package::set_deprecated ( bool  deprecated)

Set namespace deprecation status.

Parameters
deprecatedTrue, if namespace is deprecated

Definition at line 41 of file package.cc.

41{ is_deprecated_ = deprecated; }

◆ type_name()

std::string clanguml::common::model::package::type_name ( ) const
inlineoverridevirtual

Return the type name of the diagram element.

Returns
Diagrams element type name.

Reimplemented from clanguml::common::model::diagram_element.

Definition at line 52 of file package.h.

52{ return "package"; }

Member Data Documentation

◆ is_deprecated_

bool clanguml::common::model::package::is_deprecated_ {false}
private

Definition at line 81 of file package.h.


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