0.6.1
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
clanguml::sequence_diagram::model::objc_method Struct Reference

Detailed Description

Definition at line 553 of file participant.h.

#include <participant.h>

Public Member Functions

 objc_method (const common::model::namespace_ &using_namespace)
 
 objc_method (const objc_method &)=delete
 
 objc_method (objc_method &&) noexcept=delete
 
objc_methodoperator= (const objc_method &)=delete
 
objc_methodoperator= (objc_method &&)=delete
 
 ~objc_method () override=default
 
std::string type_name () const override
 
std::string method_name () const
 Get method name.
 
void set_method_name (const std::string &name)
 Set method name.
 
std::string alias () const override
 Get the participant PlantUML alias.
 
void set_class_id (eid_t id)
 Set the id of the participant to which this method belongs to.
 
void set_class_full_name (const std::string &name)
 Set full qualified name of the class.
 
const auto & class_full_name () const
 Get the class full name.
 
std::string message_name (message_render_mode mode) const override
 Render function name as message label.
 
eid_t class_id () const
 Get the class id.
 
std::string to_string () const override
 Create a string representation of the participant.
 
- Public Member Functions inherited from clanguml::sequence_diagram::model::function
 function (const common::model::namespace_ &using_namespace)
 
 function (const function &)=delete
 
 function (function &&) noexcept=delete
 
functionoperator= (const function &)=delete
 
functionoperator= (function &&)=delete
 
 ~function () override=default
 
std::string type_name () const override
 
std::string full_name_no_ns () const override
 
virtual std::string message_name (message_render_mode mode) const
 Render function name as message label.
 
bool is_const () const
 Check if function is const.
 
void is_const (bool c)
 Set whether the function is const.
 
bool is_void () const
 Check, if the function has no return value.
 
void is_void (bool v)
 Set whether the function has a return value.
 
bool is_static () const
 Check, if the function is static.
 
void is_static (bool s)
 Set whether the function is static.
 
bool is_operator () const
 Check, if the method is an operator.
 
void is_operator (bool o)
 Set whether the method is an operator.
 
bool is_cuda_kernel () const
 Check, if a functions is a call to CUDA Kernel.
 
void is_cuda_kernel (bool c)
 Set whether the method is a CUDA kernel call.
 
bool is_cuda_device () const
 Check, if a functions is a call to CUDA device.
 
void is_cuda_device (bool c)
 Set whether the method is a CUDA device call.
 
bool is_coroutine () const
 Check, if a function is a coroutine.
 
void is_coroutine (bool c)
 Set whether the function is a coroutine.
 
void return_type (const std::string &rt)
 Set functions return type.
 
const std::string & return_type () const
 Get function return type.
 
void add_parameter (const std::string &a)
 Add a function parameter.
 
const std::vector< std::string > & parameters () const
 Get the list of function parameters.
 
- Public Member Functions inherited from clanguml::sequence_diagram::model::participant
 participant (const participant &)=delete
 
 participant (participant &&) noexcept=delete
 
participantoperator= (const participant &)=delete
 
participantoperator= (participant &&)=delete
 
 ~participant () override=default
 
std::string type_name () const override
 
virtual std::string to_string () const
 Create a string representation of the participant.
 
- Public Member Functions inherited from clanguml::common::model::template_element
 ~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
 
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::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()
 
- 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) const override
 
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

eid_t class_id_ {}
 
std::string method_name_
 
std::string class_full_name_
 

Additional Inherited Members

- Public Types inherited from clanguml::sequence_diagram::model::function
enum class  message_render_mode { full , abbreviated , no_arguments }
 
- Public Types inherited from clanguml::sequence_diagram::model::participant
enum class  stereotype_t {
  participant = 0 , actor , boundary , control ,
  entity , database , collections , queue
}
 Enum representing stereotype of a participant. More...
 
- 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
 
- Public Attributes inherited from clanguml::sequence_diagram::model::participant
stereotype_t stereotype_ {stereotype_t::participant}
 

Constructor & Destructor Documentation

◆ objc_method() [1/3]

clanguml::sequence_diagram::model::objc_method::objc_method ( const common::model::namespace_ using_namespace)

Definition at line 190 of file participant.cc.

192{
193}

◆ objc_method() [2/3]

clanguml::sequence_diagram::model::objc_method::objc_method ( const objc_method )
delete

◆ objc_method() [3/3]

clanguml::sequence_diagram::model::objc_method::objc_method ( objc_method &&  )
deletenoexcept

◆ ~objc_method()

clanguml::sequence_diagram::model::objc_method::~objc_method ( )
overridedefault

Member Function Documentation

◆ alias()

std::string clanguml::sequence_diagram::model::objc_method::alias ( ) const
overridevirtual

Get the participant PlantUML alias.

Todo:
This method does not belong here - refactor to PlantUML specific code.
Returns
PlantUML alias for the participant to which this method belongs to.

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

Definition at line 197 of file participant.cc.

198{
199 assert(class_id_.is_global());
200
201 return fmt::format("C_{:022}", class_id_.value());
202}

◆ class_full_name()

const auto & clanguml::sequence_diagram::model::objc_method::class_full_name ( ) const

Get the class full name.

Returns
Class full name

Definition at line 216 of file participant.cc.

216{ return class_full_name_; }

◆ class_id()

eid_t clanguml::sequence_diagram::model::objc_method::class_id ( ) const

Get the class id.

Returns
Class id

Definition at line 250 of file participant.cc.

250{ return class_id_; }

◆ full_name_impl()

std::string clanguml::sequence_diagram::model::objc_method::full_name_impl ( bool  relative) const
overrideprotectedvirtual

Return elements full name.

Returns
Fully qualified elements name.

Reimplemented from clanguml::sequence_diagram::model::function.

Definition at line 218 of file participant.cc.

219{
220 if (relative)
221 return fmt::format("{}({}){}", method_name(),
222 fmt::join(parameters(), ","), is_const() ? " const" : "");
223
224 return fmt::format("{}::{}({}){}", class_full_name(), method_name(),
225 fmt::join(parameters(), ","), is_const() ? " const" : "");
226}

◆ message_name()

std::string clanguml::sequence_diagram::model::objc_method::message_name ( message_render_mode  mode) const
overridevirtual

Render function name as message label.

Parameters
modeFunction argument render mode
Returns
Message label

Reimplemented from clanguml::sequence_diagram::model::function.

Definition at line 228 of file participant.cc.

229{
230 constexpr auto kAbbreviatedMethodArgumentsLength{15};
231
232 const std::string style{};
233
235 return fmt::format("{}{}(){}{}", style, method_name(),
236 is_const() ? " const" : "", style);
237 }
239 return fmt::format("{}({}){}", name(),
241 fmt::format("{}", fmt::join(parameters(), ",")),
242 kAbbreviatedMethodArgumentsLength),
243 is_const() ? " const" : "");
244 }
245
246 return fmt::format("{}{}({}){}{}", style, method_name(),
247 fmt::join(parameters(), ","), is_const() ? " const" : "", style);
248}

◆ method_name()

std::string clanguml::sequence_diagram::model::objc_method::method_name ( ) const

Get method name.

Returns
Method name

Definition at line 195 of file participant.cc.

195{ return method_name_; }

◆ operator=() [1/2]

objc_method & clanguml::sequence_diagram::model::objc_method::operator= ( const objc_method )
delete

◆ operator=() [2/2]

objc_method & clanguml::sequence_diagram::model::objc_method::operator= ( objc_method &&  )
delete

◆ set_class_full_name()

void clanguml::sequence_diagram::model::objc_method::set_class_full_name ( const std::string &  name)

Set full qualified name of the class.

Parameters
nameName of the class including namespace

Definition at line 211 of file participant.cc.

212{
214}

◆ set_class_id()

void clanguml::sequence_diagram::model::objc_method::set_class_id ( eid_t  id)

Set the id of the participant to which this method belongs to.

Parameters
idId of the class to which this method belongs to

Definition at line 209 of file participant.cc.

209{ class_id_ = id; }

◆ set_method_name()

void clanguml::sequence_diagram::model::objc_method::set_method_name ( const std::string &  name)

Set method name.

Parameters
nameMethod name

Definition at line 204 of file participant.cc.

205{
207}

◆ to_string()

std::string clanguml::sequence_diagram::model::objc_method::to_string ( ) const
overridevirtual

Create a string representation of the participant.

Returns
Participant representation as string

Reimplemented from clanguml::sequence_diagram::model::participant.

Definition at line 252 of file participant.cc.

253{
254 return fmt::format("Participant '{}': id={}, name={}, class_id={}",
255 type_name(), id(), full_name(false), class_id());
256}

◆ type_name()

std::string clanguml::sequence_diagram::model::objc_method::type_name ( ) const
inlineoverridevirtual

Get the type name of the diagram element.

Returns
Type name of the diagram element.

Reimplemented from clanguml::sequence_diagram::model::function.

Definition at line 568 of file participant.h.

568{ return "objc_method"; }

Member Data Documentation

◆ class_full_name_

std::string clanguml::sequence_diagram::model::objc_method::class_full_name_
private

Definition at line 642 of file participant.h.

◆ class_id_

eid_t clanguml::sequence_diagram::model::objc_method::class_id_ {}
private

Definition at line 640 of file participant.h.

◆ method_name_

std::string clanguml::sequence_diagram::model::objc_method::method_name_
private

Definition at line 641 of file participant.h.


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