0.6.0
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
clanguml::class_diagram::model::objc_interface Class Reference

Detailed Description

Definition at line 33 of file objc_interface.h.

#include <objc_interface.h>

Public Member Functions

 objc_interface (const common::model::namespace_ &using_namespaces)
 
 objc_interface (const objc_interface &)=delete
 
 objc_interface (objc_interface &&)=delete
 
objc_interfaceoperator= (const objc_interface &)=delete
 
objc_interfaceoperator= (objc_interface &&)=delete
 
std::string type_name () const override
 
void add_member (objc_member &&member)
 
void add_method (objc_method &&method)
 
const std::vector< objc_member > & members () const
 
const std::vector< objc_method > & methods () const
 
bool is_protocol () const
 
void is_protocol (bool ip)
 
bool is_category () const
 
void is_category (bool cat)
 
std::optional< std::string > doxygen_link () const override
 Get Doxygen link to documentation page for this element.
 
- 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
 
virtual std::string full_name_no_ns () const
 
const namespace_using_namespace () const
 
- 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)
 
void set_name (const std::string &parent, const std::string &name)
 
std::string name () const
 
virtual std::string type_name () const
 
std::string full_name (bool relative) 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)
 
bool is_nested () const
 
void nested (bool nested)
 
bool complete () const
 
void complete (bool completed)
 
void remove_duplicate_relationships ()
 
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::util::memoized< full_name_tag_t, std::string, bool >
auto memoize (bool is_complete, F &&f, Args... args) const
 
void invalidate (Args... args) const
 
- Public Member Functions inherited from clanguml::util::memoized< name_and_ns_tag, std::string >
auto memoize (bool is_complete, F &&f, Args... args) const
 
void invalidate (Args... args) const
 
- Public Member Functions inherited from clanguml::common::model::stylable_element
void set_style (const std::string &style)
 
std::optional< std::string > style () const
 

Protected Member Functions

std::string full_name_impl (bool relative=true) const override
 
- Protected Member Functions inherited from clanguml::common::model::element
std::string full_name_impl (bool relative) const override
 
virtual std::string name_and_ns_impl () const
 
virtual std::string full_name_impl (bool) const
 

Private Attributes

std::vector< objc_membermembers_
 
std::vector< objc_methodmethods_
 
bool is_protocol_ {false}
 
bool is_category_ {false}
 

Friends

bool operator== (const objc_interface &l, const objc_interface &r)
 

Additional Inherited Members

- Public Types inherited from clanguml::util::memoized< full_name_tag_t, std::string, bool >
using key_t = std::tuple< Args... >
 
using value_t = std::string
 
- Public Types inherited from clanguml::util::memoized< name_and_ns_tag, std::string >
using key_t = std::tuple< Args... >
 
using value_t = std::string
 

Constructor & Destructor Documentation

◆ objc_interface() [1/3]

clanguml::class_diagram::model::objc_interface::objc_interface ( const common::model::namespace_ using_namespaces)

Definition at line 28 of file objc_interface.cc.

30{
31}

◆ objc_interface() [2/3]

clanguml::class_diagram::model::objc_interface::objc_interface ( const objc_interface )
delete

◆ objc_interface() [3/3]

clanguml::class_diagram::model::objc_interface::objc_interface ( objc_interface &&  )
delete

Member Function Documentation

◆ add_member()

void clanguml::class_diagram::model::objc_interface::add_member ( objc_member &&  member)

Definition at line 51 of file objc_interface.cc.

52{
53 members_.emplace_back(std::move(member));
54}

◆ add_method()

void clanguml::class_diagram::model::objc_interface::add_method ( objc_method &&  method)

Definition at line 56 of file objc_interface.cc.

57{
58 methods_.emplace_back(std::move(method));
59}

◆ doxygen_link()

std::optional< std::string > clanguml::class_diagram::model::objc_interface::doxygen_link ( ) const
overridevirtual

Get Doxygen link to documentation page for this element.

Returns
Doxygen link for this element.

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

Definition at line 71 of file objc_interface.cc.

72{
73 return std::nullopt;
74}

◆ full_name_impl()

std::string clanguml::class_diagram::model::objc_interface::full_name_impl ( bool  relative = true) const
overrideprotectedvirtual

Return elements full name.

Returns
Fully qualified elements name.

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

Definition at line 38 of file objc_interface.cc.

39{
40 return name();
41}

◆ is_category() [1/2]

bool clanguml::class_diagram::model::objc_interface::is_category ( ) const

Definition at line 47 of file objc_interface.cc.

47{ return is_category_; }

◆ is_category() [2/2]

void clanguml::class_diagram::model::objc_interface::is_category ( bool  cat)

Definition at line 49 of file objc_interface.cc.

49{ is_category_ = cat; }

◆ is_protocol() [1/2]

bool clanguml::class_diagram::model::objc_interface::is_protocol ( ) const

Definition at line 43 of file objc_interface.cc.

43{ return is_protocol_; }

◆ is_protocol() [2/2]

void clanguml::class_diagram::model::objc_interface::is_protocol ( bool  ip)

Definition at line 45 of file objc_interface.cc.

45{ is_protocol_ = ip; }

◆ members()

const std::vector< objc_member > & clanguml::class_diagram::model::objc_interface::members ( ) const

Definition at line 61 of file objc_interface.cc.

62{
63 return members_;
64}

◆ methods()

const std::vector< objc_method > & clanguml::class_diagram::model::objc_interface::methods ( ) const

Definition at line 66 of file objc_interface.cc.

67{
68 return methods_;
69}

◆ operator=() [1/2]

objc_interface & clanguml::class_diagram::model::objc_interface::operator= ( const objc_interface )
delete

◆ operator=() [2/2]

objc_interface & clanguml::class_diagram::model::objc_interface::operator= ( objc_interface &&  )
delete

◆ type_name()

std::string clanguml::class_diagram::model::objc_interface::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 43 of file objc_interface.h.

44 {
45 if (is_protocol())
46 return "objc_protocol";
47
48 if (is_category())
49 return "objc_category";
50
51 return "objc_interface";
52 }

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const objc_interface l,
const objc_interface r 
)
friend

Definition at line 33 of file objc_interface.cc.

34{
35 return l.id() == r.id();
36}

Member Data Documentation

◆ is_category_

bool clanguml::class_diagram::model::objc_interface::is_category_ {false}
private

Definition at line 86 of file objc_interface.h.

◆ is_protocol_

bool clanguml::class_diagram::model::objc_interface::is_protocol_ {false}
private

Definition at line 85 of file objc_interface.h.

◆ members_

std::vector<objc_member> clanguml::class_diagram::model::objc_interface::members_
private

Definition at line 83 of file objc_interface.h.

◆ methods_

std::vector<objc_method> clanguml::class_diagram::model::objc_interface::methods_
private

Definition at line 84 of file objc_interface.h.


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