669 lines
17 KiB
Markdown
669 lines
17 KiB
Markdown
# t00017 - Test include relations also as members flag
|
|
## Config
|
|
```yaml
|
|
compilation_database_dir: ..
|
|
output_directory: diagrams
|
|
diagrams:
|
|
t00017_class:
|
|
type: class
|
|
include_relations_also_as_members: false
|
|
glob:
|
|
- ../../tests/t00017/t00017.cc
|
|
using_namespace:
|
|
- clanguml::t00017
|
|
include:
|
|
namespaces:
|
|
- clanguml::t00017
|
|
|
|
```
|
|
## Source code
|
|
File t00017.cc
|
|
```cpp
|
|
#include <utility>
|
|
|
|
namespace clanguml {
|
|
namespace t00017 {
|
|
class A { };
|
|
|
|
class B { };
|
|
|
|
class C { };
|
|
|
|
class D { };
|
|
|
|
class E { };
|
|
|
|
class F { };
|
|
|
|
class G { };
|
|
|
|
class H { };
|
|
|
|
class I { };
|
|
|
|
class J { };
|
|
|
|
class K { };
|
|
|
|
class R {
|
|
explicit R(int &some_int, C &cc, const E &ee, F &&ff, I *&ii)
|
|
: some_int_reference{some_int}
|
|
, c{cc}
|
|
, e{ee}
|
|
, f{std::move(ff)}
|
|
, i{ii}
|
|
{
|
|
}
|
|
|
|
private:
|
|
int some_int;
|
|
int *some_int_pointer;
|
|
int **some_int_pointer_pointer;
|
|
int &some_int_reference;
|
|
A a;
|
|
B *b;
|
|
C &c;
|
|
const D *d;
|
|
const E &e;
|
|
F &&f;
|
|
G **g;
|
|
H ***h;
|
|
I *&i;
|
|
volatile J *j;
|
|
mutable K *k;
|
|
};
|
|
} // namespace t00017
|
|
} // namespace clanguml
|
|
|
|
```
|
|
## Generated PlantUML diagrams
|
|

|
|
## Generated Mermaid diagrams
|
|

|
|
## Generated JSON models
|
|
```json
|
|
{
|
|
"diagram_type": "class",
|
|
"elements": [
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::A",
|
|
"id": "121332093434690887",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "A",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 5,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::B",
|
|
"id": "1424864837456200487",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "B",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 7,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::C",
|
|
"id": "2151170391844743478",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "C",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 9,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::D",
|
|
"id": "1378112127131766972",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "D",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 11,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::E",
|
|
"id": "1535300935831802489",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "E",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 13,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::F",
|
|
"id": "1803800465279710134",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "F",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 15,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::G",
|
|
"id": "1135797791892670246",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "G",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 17,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::H",
|
|
"id": "1243547836571712317",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "H",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 19,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::I",
|
|
"id": "387733199705628658",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "I",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 21,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::J",
|
|
"id": "747991828672433537",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "J",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 23,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::K",
|
|
"id": "1783571342994833467",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [],
|
|
"methods": [],
|
|
"name": "K",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 25,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
},
|
|
{
|
|
"bases": [],
|
|
"display_name": "clanguml::t00017::R",
|
|
"id": "287495916564113342",
|
|
"is_abstract": false,
|
|
"is_nested": false,
|
|
"is_struct": false,
|
|
"is_template": false,
|
|
"is_union": false,
|
|
"members": [
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "some_int",
|
|
"source_location": {
|
|
"column": 9,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 38,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "int"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "some_int_pointer",
|
|
"source_location": {
|
|
"column": 10,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 39,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "int *"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "some_int_pointer_pointer",
|
|
"source_location": {
|
|
"column": 11,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 40,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "int **"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "some_int_reference",
|
|
"source_location": {
|
|
"column": 10,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 41,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "int &"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "a",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 42,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "A"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "b",
|
|
"source_location": {
|
|
"column": 8,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 43,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "B *"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "c",
|
|
"source_location": {
|
|
"column": 8,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 44,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "C &"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "d",
|
|
"source_location": {
|
|
"column": 14,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 45,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "const D *"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "e",
|
|
"source_location": {
|
|
"column": 14,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 46,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "const E &"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "f",
|
|
"source_location": {
|
|
"column": 9,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 47,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "F &&"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "g",
|
|
"source_location": {
|
|
"column": 9,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 48,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "G **"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "h",
|
|
"source_location": {
|
|
"column": 10,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 49,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "H ***"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "i",
|
|
"source_location": {
|
|
"column": 9,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 50,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "I *&"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "j",
|
|
"source_location": {
|
|
"column": 17,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 51,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "volatile J *"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"is_static": false,
|
|
"name": "k",
|
|
"source_location": {
|
|
"column": 16,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 52,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "K *"
|
|
}
|
|
],
|
|
"methods": [
|
|
{
|
|
"access": "private",
|
|
"is_const": false,
|
|
"is_consteval": false,
|
|
"is_constexpr": false,
|
|
"is_constructor": true,
|
|
"is_copy_assignment": false,
|
|
"is_defaulted": false,
|
|
"is_deleted": false,
|
|
"is_move_assignment": false,
|
|
"is_noexcept": false,
|
|
"is_operator": false,
|
|
"is_pure_virtual": false,
|
|
"is_static": false,
|
|
"is_virtual": false,
|
|
"name": "R",
|
|
"parameters": [
|
|
{
|
|
"name": "some_int",
|
|
"type": "int &"
|
|
},
|
|
{
|
|
"name": "cc",
|
|
"type": "C &"
|
|
},
|
|
{
|
|
"name": "ee",
|
|
"type": "const E &"
|
|
},
|
|
{
|
|
"name": "ff",
|
|
"type": "F &&"
|
|
},
|
|
{
|
|
"name": "ii",
|
|
"type": "I *&"
|
|
}
|
|
],
|
|
"source_location": {
|
|
"column": 14,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 28,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"type": "void"
|
|
}
|
|
],
|
|
"name": "R",
|
|
"namespace": "clanguml::t00017",
|
|
"source_location": {
|
|
"column": 7,
|
|
"file": "../../tests/t00017/t00017.cc",
|
|
"line": 27,
|
|
"translation_unit": "../../tests/t00017/t00017.cc"
|
|
},
|
|
"template_parameters": [],
|
|
"type": "class"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"clang_uml_version": "0.4.0-32-g701b2c5",
|
|
"llvm_version": "Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105)",
|
|
"schema_version": 1
|
|
},
|
|
"name": "t00017_class",
|
|
"relationships": [
|
|
{
|
|
"access": "private",
|
|
"destination": "121332093434690887",
|
|
"label": "a",
|
|
"source": "287495916564113342",
|
|
"type": "aggregation"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1424864837456200487",
|
|
"label": "b",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "2151170391844743478",
|
|
"label": "c",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1378112127131766972",
|
|
"label": "d",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1535300935831802489",
|
|
"label": "e",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1803800465279710134",
|
|
"label": "f",
|
|
"source": "287495916564113342",
|
|
"type": "aggregation"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1135797791892670246",
|
|
"label": "g",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1243547836571712317",
|
|
"label": "h",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "387733199705628658",
|
|
"label": "i",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "747991828672433537",
|
|
"label": "j",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
},
|
|
{
|
|
"access": "private",
|
|
"destination": "1783571342994833467",
|
|
"label": "k",
|
|
"source": "287495916564113342",
|
|
"type": "association"
|
|
}
|
|
],
|
|
"using_namespace": "clanguml::t00017"
|
|
}
|
|
```
|