Files
clang-uml/docs/test_cases/t00079.md
2024-06-17 22:02:29 +02:00

129 lines
2.7 KiB
Markdown

# t00079 - Test case for context diagram exclude filter with relationships option
## Config
```yaml
diagrams:
t00079_class:
type: class
glob:
- t00079.cc
include:
namespaces:
- clanguml::t00079
exclude:
context:
- match:
radius: 1
pattern: clanguml::t00079::A
relationships:
- inheritance
- aggregation
using_namespace: clanguml::t00079
```
## Source code
File `tests/t00079/t00079.cc`
```cpp
namespace clanguml {
namespace t00079 {
struct Base { };
struct D { };
struct E { };
struct A : public Base {
D d;
E *e;
};
struct B {
A *a;
};
struct C {
A a;
};
}
}
```
## Generated PlantUML diagrams
![t00079_class](./t00079_class.svg "Test case for context diagram exclude filter with relationships option")
## Generated Mermaid diagrams
![t00079_class](./t00079_class_mermaid.svg "Test case for context diagram exclude filter with relationships option")
## Generated JSON models
```json
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "E",
"id": "18284199960848715524",
"is_abstract": false,
"is_nested": false,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [],
"methods": [],
"name": "E",
"namespace": "clanguml::t00079",
"source_location": {
"column": 8,
"file": "t00079.cc",
"line": 7,
"translation_unit": "t00079.cc"
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "B",
"id": "17719745761779016384",
"is_abstract": false,
"is_nested": false,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "a",
"source_location": {
"column": 8,
"file": "t00079.cc",
"line": 14,
"translation_unit": "t00079.cc"
},
"type": "A *"
}
],
"methods": [],
"name": "B",
"namespace": "clanguml::t00079",
"source_location": {
"column": 8,
"file": "t00079.cc",
"line": 13,
"translation_unit": "t00079.cc"
},
"template_parameters": [],
"type": "class"
}
],
"name": "t00079_class",
"package_type": "namespace",
"relationships": [
{
"access": "public",
"destination": "8374063247524690299",
"label": "a",
"source": "17719745761779016384",
"type": "association"
}
],
"using_namespace": "clanguml::t00079"
}
```