# t30005 - Package namespace alias test case ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t30005_package: type: package glob: - ../../tests/t30005/t30005.cc include: namespaces: - clanguml::t30005 using_namespace: - clanguml::t30005 plantuml: before: - "' t30005 test package diagram" ``` ## Source code File t30005.cc ```cpp namespace clanguml { namespace t30005 { namespace A::AA::AAA { struct C1 { }; } namespace B::BB::BBB { namespace A6 = A::AA::AAA; namespace ASix = A6; struct C2 { ASix::C1 *cb; }; } namespace C::CC::CCC { namespace A6 = A::AA::AAA; namespace ASix = A6; using ADSix = ASix::C1; struct C2 { ADSix *cc; }; } } } ``` ## Generated UML diagrams ![t30005_package](./t30005_package.svg "Package namespace alias test case") ## Generated JSON models ```json { "diagram_type": "package", "elements": [ { "display_name": "clanguml", "elements": [ { "display_name": "clanguml::t30005", "id": "1344350061092822214", "is_deprecated": false, "name": "t30005", "source_location": { "column": 11, "file": "../../tests/t30005/t30005.cc", "line": 2, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "2174271399507040339", "is_deprecated": false, "name": "clanguml", "source_location": { "column": 11, "file": "../../tests/t30005/t30005.cc", "line": 1, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30005::A", "elements": [ { "display_name": "clanguml::t30005::A::AA", "elements": [ { "display_name": "clanguml::t30005::A::AA::AAA", "id": "914090901927655181", "is_deprecated": false, "name": "AAA", "source_location": { "column": 18, "file": "../../tests/t30005/t30005.cc", "line": 4, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "1777547159021391040", "is_deprecated": false, "name": "AA", "source_location": { "column": 14, "file": "../../tests/t30005/t30005.cc", "line": 4, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "1768303675686131578", "is_deprecated": false, "name": "A", "source_location": { "column": 11, "file": "../../tests/t30005/t30005.cc", "line": 4, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30005::B", "elements": [ { "display_name": "clanguml::t30005::B::BB", "elements": [ { "display_name": "clanguml::t30005::B::BB::BBB", "id": "1871026935460001668", "is_deprecated": false, "name": "BBB", "source_location": { "column": 18, "file": "../../tests/t30005/t30005.cc", "line": 8, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "1696631362104244809", "is_deprecated": false, "name": "BB", "source_location": { "column": 14, "file": "../../tests/t30005/t30005.cc", "line": 8, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "378529216628023051", "is_deprecated": false, "name": "B", "source_location": { "column": 11, "file": "../../tests/t30005/t30005.cc", "line": 8, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30005::C", "elements": [ { "display_name": "clanguml::t30005::C::CC", "elements": [ { "display_name": "clanguml::t30005::C::CC::CCC", "id": "1763279540133487999", "is_deprecated": false, "name": "CCC", "source_location": { "column": 18, "file": "../../tests/t30005/t30005.cc", "line": 16, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "2134234141727442046", "is_deprecated": false, "name": "CC", "source_location": { "column": 14, "file": "../../tests/t30005/t30005.cc", "line": 16, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "id": "1041076320925403190", "is_deprecated": false, "name": "C", "source_location": { "column": 11, "file": "../../tests/t30005/t30005.cc", "line": 16, "translation_unit": "../../tests/t30005/t30005.cc" }, "type": "namespace" } ], "metadata": { "clang_uml_version": "0.3.8-29-gc472792", "llvm_version": "Ubuntu clang version 15.0.7", "schema_version": 1 }, "name": "t30005_package", "relationships": [ { "destination": "914090901927655181", "source": "1871026935460001668", "type": "dependency" }, { "destination": "914090901927655181", "source": "1763279540133487999", "type": "dependency" } ], "using_namespace": "clanguml::t30005" } ```