# t30001 - Basic package diagram test case ## Config ```yaml compilation_database_dir: .. output_directory: diagrams diagrams: t30001_package: type: package glob: - ../../tests/t30001/t30001.cc include: namespaces: - clanguml::t30001 exclude: namespaces: - clanguml::t30001::detail using_namespace: - clanguml::t30001 plantuml: before: - "' t30001 test diagram of type {{ diagram.type }}" after: - 'note right of {{ alias("A::AA::AAA") }}: A AAA note...' - '{% set e=element("A::AA") %} note top of {{ alias("A::AA") }} : {{ e.comment.formatted }}' - '{% set e=element("B::AA") %} note top of {{ alias("B::AA") }} : {{ e.comment.formatted }}' mermaid: before: - "%% t30001 test diagram of type {{ diagram.type }}" after: - 'N_0001(A AAA note...)' - 'N_0001 -.- {{ alias("A::AA::AAA") }}' - '{% set e=element("A::AA") %}N_0002({{ e.comment.formatted }})' - '{% set e=element("B::AA") %}N_0003({{ e.comment.formatted }})' - 'N_0002 -.- {{ alias("A::AA") }}' - 'N_0003 -.- {{ alias("B::AA") }}' ``` ## Source code File t30001.cc ```cpp namespace clanguml { namespace t30001 { namespace A { /// This is namespace AA in namespace A namespace AA { namespace AAA { } // namespace AAA namespace BBB { } // namespace BBB } // namespace AA namespace BB { } // namespace BB } // namespace A namespace B { /// This is namespace AA in namespace B namespace AA { namespace AAA { } // namespace AAA namespace BBB { } // namespace BBB } // namespace AA namespace BB { } // namespace BB } // namespace B } // namespace t30001 } // namespace clanguml ``` ## Generated PlantUML diagrams ![t30001_package](./t30001_package.svg "Basic package diagram test case") ## Generated Mermaid diagrams ![t30001_package](./t30001_package_mermaid.svg "Basic package diagram test case") ## Generated JSON models ```json { "diagram_type": "package", "elements": [ { "display_name": "clanguml", "elements": [ { "display_name": "clanguml::t30001", "id": "1807513669798383046", "is_deprecated": false, "name": "t30001", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 2, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "id": "2174271399507040339", "is_deprecated": false, "name": "clanguml", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 1, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::A", "elements": [ { "comment": { "formatted": "This is namespace AA in namespace A", "raw": "/// This is namespace AA in namespace A" }, "display_name": "clanguml::t30001::A::AA", "elements": [ { "display_name": "clanguml::t30001::A::AA::AAA", "id": "274638237740249424", "is_deprecated": false, "name": "AAA", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 6, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::A::AA::BBB", "id": "2129154382024012563", "is_deprecated": false, "name": "BBB", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 8, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "id": "1528517990989164155", "is_deprecated": false, "name": "AA", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 5, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::A::BB", "id": "983199564524723281", "is_deprecated": false, "name": "BB", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 11, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "id": "1184614645531659789", "is_deprecated": false, "name": "A", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 3, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::B", "elements": [ { "comment": { "formatted": "This is namespace AA in namespace B", "raw": "/// This is namespace AA in namespace B" }, "display_name": "clanguml::t30001::B::AA", "elements": [ { "display_name": "clanguml::t30001::B::AA::AAA", "id": "262162485307734028", "is_deprecated": false, "name": "AAA", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 17, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::B::AA::BBB", "id": "18542334992237803", "is_deprecated": false, "name": "BBB", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 19, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "id": "895913707182089871", "is_deprecated": false, "name": "AA", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 16, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30001::B::BB", "id": "2230464321696304488", "is_deprecated": false, "name": "BB", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 22, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "id": "1931735210112054430", "is_deprecated": false, "name": "B", "source_location": { "column": 11, "file": "../../tests/t30001/t30001.cc", "line": 14, "translation_unit": "../../tests/t30001/t30001.cc" }, "type": "namespace" } ], "metadata": { "clang_uml_version": "0.3.9-23-g7e22b0b", "llvm_version": "Ubuntu clang version 16.0.1 (++20230328073357+42d1b276f779-1~exp1~20230328073502.65)", "schema_version": 1 }, "name": "t30001_package", "relationships": [], "using_namespace": "clanguml::t30001" } ```