0.6.0
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
src
class_diagram
model
method_parameter.cc
Go to the documentation of this file.
1
/**
2
* @file src/class_diagram/model/method_parameter.cc
3
*
4
* Copyright (c) 2021-2025 Bartek Kryza <bkryza@gmail.com>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#include "
method_parameter.h
"
20
21
#include "
util/util.h
"
22
23
namespace
clanguml::class_diagram::model
{
24
25
method_parameter::method_parameter
(
26
std::string type, std::string name, std::string default_value)
27
: type_{
std
::move(type)}
28
, name_{
std
::move(name)}
29
, default_value_{
std
::move(default_value)}
30
{
31
}
32
33
void
method_parameter::set_type
(
const
std::string &type) {
type_
=
type
; }
34
35
std::string
method_parameter::type
()
const
{
return
type_
; }
36
37
void
method_parameter::set_name
(
const
std::string &name) {
name_
=
name
; }
38
39
std::string
method_parameter::name
()
const
{
return
name_
; }
40
41
void
method_parameter::set_default_value
(
const
std::string &value)
42
{
43
default_value_
= value;
44
}
45
46
std::string
method_parameter::default_value
()
const
{
return
default_value_
; }
47
48
std::string
method_parameter::to_string
(
49
const
common::model::namespace_
&using_namespace)
const
50
{
51
using namespace
clanguml::util
;
52
auto
type_ns =
53
using_namespace.
relative
(
common::model::namespace_
{
type
()}.to_string());
54
55
auto
name_ns =
56
using_namespace.
relative
(
common::model::namespace_
{
name
()}.to_string());
57
58
if
(
default_value
().empty()) {
59
if
(name_ns.empty())
60
return
type_ns;
61
62
return
fmt::format(
"{} {}"
, type_ns, name_ns);
63
}
64
65
return
fmt::format(
"{} {} = {}"
, type_ns, name_ns,
default_value
());
66
}
67
68
}
// namespace clanguml::class_diagram::model
Copyright © 2022-present
Bartek Kryza
Generated by
1.9.7