0.6.0
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
src
class_diagram
model
class_element.h
Go to the documentation of this file.
1
/**
2
* @file src/class_diagram/model/class_element.h
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
#pragma once
19
20
#include "
common/model/decorated_element.h
"
21
#include "
common/model/source_location.h
"
22
23
#include <inja/inja.hpp>
24
25
#include <string>
26
27
namespace
clanguml::class_diagram::model
{
28
29
/**
30
* @brief Base class for class elements (e.g. member or method).
31
*/
32
class
class_element
:
public
common::model::decorated_element
,
33
public
common::model::source_location
{
34
public
:
35
class_element
(
36
common::model::access_t
access
, std::string
name
, std::string
type
);
37
38
~class_element
()
override
=
default
;
39
40
/**
41
* @brief Get elements access scope.
42
*
43
* @return Elements access scope.
44
*/
45
common::model::access_t
access
()
const
;
46
47
/**
48
* @brief Get elements name.
49
*
50
* @return Elements name.
51
*/
52
std::string
name
()
const
;
53
54
/**
55
* @brief Set elements name.
56
*
57
* @param name Elements name.
58
*/
59
void
set_name
(
const
std::string &
name
);
60
61
/**
62
* @brief Get elements type as string.
63
*
64
* @return Elements type as string.
65
*/
66
std::string
type
()
const
;
67
68
/**
69
* @brief Set elements type as string.
70
*
71
* @param type Elements type as string.
72
*/
73
void
set_type
(
const
std::string &
type
);
74
75
/**
76
* @brief Set class elements qualified name.
77
*
78
* This method sets the fully qualified path of the class element,
79
* including namespace and parent class name.
80
*/
81
void
set_qualified_name
(
const
std::string &qn);
82
83
/**
84
* @brief get fully qualified name of the class element.
85
*/
86
std::string
qualified_name
()
const
;
87
88
private
:
89
common::model::access_t
access_
;
90
std::string
name_
;
91
std::string
qualified_name_
;
92
std::string
type_
;
93
};
94
95
}
// namespace clanguml::class_diagram::model
Copyright © 2022-present
Bartek Kryza
Generated by
1.9.7