Files
clang-uml/docs/test_cases/t20003.md
2024-01-01 21:44:37 +01:00

170 lines
4.1 KiB
Markdown

# t20003 - Function template sequence diagram test case
## Config
```yaml
diagrams:
t20003_sequence:
type: sequence
glob:
- t20003.cc
include:
namespaces:
- clanguml::t20003
using_namespace: clanguml::t20003
from:
- function: "clanguml::t20003::m1<T>(T)"
```
## Source code
File `tests/t20003/t20003.cc`
```cpp
namespace clanguml {
namespace t20003 {
template <typename T> void m4(T p) { }
template <typename T> void m3(T p) { m4<T>(p); }
template <typename T> void m2(T p) { m3<T>(p); }
template <typename T> void m1(T p) { m2<T>(p); }
}
}
```
## Generated PlantUML diagrams
![t20003_sequence](./t20003_sequence.svg "Function template sequence diagram test case")
## Generated Mermaid diagrams
![t20003_sequence](./t20003_sequence_mermaid.svg "Function template sequence diagram test case")
## Generated JSON models
```json
{
"diagram_type": "sequence",
"name": "t20003_sequence",
"participants": [
{
"display_name": "m1<T>(T)",
"id": "469205740799240869",
"name": "m1",
"namespace": "clanguml::t20003",
"source_location": {
"column": 28,
"file": "t20003.cc",
"line": 10,
"translation_unit": "t20003.cc"
},
"type": "function_template"
},
{
"display_name": "m2<T>(T)",
"id": "1502957449367040488",
"name": "m2",
"namespace": "clanguml::t20003",
"source_location": {
"column": 28,
"file": "t20003.cc",
"line": 8,
"translation_unit": "t20003.cc"
},
"type": "function_template"
},
{
"display_name": "m3<T>(T)",
"id": "613477682313507585",
"name": "m3",
"namespace": "clanguml::t20003",
"source_location": {
"column": 28,
"file": "t20003.cc",
"line": 6,
"translation_unit": "t20003.cc"
},
"type": "function_template"
},
{
"display_name": "m4<T>(T)",
"id": "619960023608507925",
"name": "m4",
"namespace": "clanguml::t20003",
"source_location": {
"column": 28,
"file": "t20003.cc",
"line": 4,
"translation_unit": "t20003.cc"
},
"type": "function_template"
}
],
"sequences": [
{
"messages": [
{
"from": {
"activity_id": "469205740799240869",
"participant_id": "469205740799240869"
},
"name": "",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 38,
"file": "t20003.cc",
"line": 10,
"translation_unit": "t20003.cc"
},
"to": {
"activity_id": "1502957449367040488",
"participant_id": "1502957449367040488"
},
"type": "message"
},
{
"from": {
"activity_id": "1502957449367040488",
"participant_id": "1502957449367040488"
},
"name": "",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 38,
"file": "t20003.cc",
"line": 8,
"translation_unit": "t20003.cc"
},
"to": {
"activity_id": "613477682313507585",
"participant_id": "613477682313507585"
},
"type": "message"
},
{
"from": {
"activity_id": "613477682313507585",
"participant_id": "613477682313507585"
},
"name": "",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 38,
"file": "t20003.cc",
"line": 6,
"translation_unit": "t20003.cc"
},
"to": {
"activity_id": "619960023608507925",
"participant_id": "619960023608507925"
},
"type": "message"
}
],
"start_from": {
"id": 469205740799240869,
"location": "clanguml::t20003::m1<T>(T)"
}
}
],
"using_namespace": "clanguml::t20003"
}
```