Diagram element representing some file or directory. More...
#include <source_file.h>
Public Member Functions | |
source_file ()=default | |
source_file (const std::filesystem::path &p) | |
source_file (const source_file &)=delete | |
source_file (source_file &&)=default | |
source_file & | operator= (const source_file &)=delete |
source_file & | operator= (source_file &&)=delete |
bool | operator== (const source_file &right) const |
void | set_path (const filesystem_path &p) |
bool | is_absolute () const |
void | set_type (source_file_t type) |
source_file_t | type () const |
void | set_system_header (bool is_system) |
bool | is_system_header () const |
const filesystem_path & | path () const |
std::string | full_name (bool) const override |
auto | full_path () const |
std::filesystem::path | fs_path (const std::filesystem::path &base={}) const |
inja::json | context () const override |
Public Member Functions inherited from clanguml::common::model::diagram_element | |
diagram_element () | |
~diagram_element () override=default | |
const eid_t & | id () const |
Returns diagram element id. | |
void | set_id (eid_t id) |
std::optional< eid_t > | parent_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_t > | comment () 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< common::model::source_file, filesystem_path > | |
nested_trait ()=default | |
nested_trait (const nested_trait &)=delete | |
nested_trait (nested_trait &&) noexcept=default | |
nested_trait & | operator= (const nested_trait &)=delete |
nested_trait & | operator= (nested_trait &&) noexcept=default |
virtual | ~nested_trait ()=default |
bool | add_element (std::unique_ptr< V > p) |
bool | add_element (const filesystem_path &path, std::unique_ptr< V > p) |
auto | get_element (const filesystem_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 | |
filesystem_path | path_ {path_type::kFilesystem} |
source_file_t | type_ {source_file_t::kDirectory} |
bool | is_absolute_ {false} |
bool | is_system_header_ {false} |
|
default |
|
inlineexplicit |
Definition at line 71 of file source_file.h.
|
delete |
|
default |
|
inlineoverridevirtual |
Return inja context for this element.
Reimplemented from clanguml::common::model::diagram_element.
Definition at line 187 of file source_file.h.
|
inline |
Convert the source file path to std::filesystem::path, relative to base
base | Base path |
Definition at line 164 of file source_file.h.
|
inlineoverridevirtual |
Return the full path string, i.e. parent path and elements name.
Reimplemented from clanguml::common::model::diagram_element.
Definition at line 146 of file source_file.h.
|
inline |
Return full path, i.e. parent path and elements name.
Definition at line 156 of file source_file.h.
|
inline |
Is the elements path absolute?
Definition at line 104 of file source_file.h.
|
inline |
Is the file a system header?
Definition at line 132 of file source_file.h.
|
delete |
|
delete |
|
inline |
|
inline |
Get the source file's parent path.
Definition at line 139 of file source_file.h.
|
inline |
Set the path to the element in the diagram.
p | Diagram path. |
Definition at line 97 of file source_file.h.
|
inline |
Set whether the file is a system header
is_system | Whether the file is a system header |
Definition at line 125 of file source_file.h.
|
inline |
Set the type of the source file.
type | Type of the source file. |
Definition at line 111 of file source_file.h.
|
inline |
Get the source file elements type.
Definition at line 118 of file source_file.h.
|
private |
Definition at line 201 of file source_file.h.
|
private |
Definition at line 202 of file source_file.h.
|
private |
Definition at line 199 of file source_file.h.
|
private |
Definition at line 200 of file source_file.h.