# t30002 - Package dependency test case ## Config ```yaml diagrams: t30002_package: type: package glob: - t30002.cc include: namespaces: - clanguml::t30002 exclude: namespaces: - clanguml::t30002::detail using_namespace: clanguml::t30002 plantuml: before: - "' t30002 test package diagram" ``` ## Source code File `tests/t30002/t30002.cc` ```cpp #include #include #include #include #include namespace clanguml { namespace t30002 { namespace A::AA { namespace A1 { struct CA { }; } namespace A2 { template struct CB { T cb; }; } namespace A3 { struct CC { }; } namespace A4 { struct CD { }; } namespace A5 { struct CE { }; } namespace A6 { struct CF { }; } namespace A7 { struct CG { }; } namespace A8 { struct CH { }; } namespace A9 { struct CI { }; } namespace A10 { struct CJ { }; } namespace A11 { struct CK { }; } namespace A12 { struct CL { }; } namespace A13 { struct CM { }; } namespace A14 { struct CN { }; } namespace A15 { struct CO { }; } namespace A16 { struct CP { }; } namespace A17 { struct CR { }; } namespace A18 { enum class S { s1, s2, s3 }; } } namespace B::BB::BBB { class CBA : public A::AA::A6::CF { public: A::AA::A1::CA *ca_; A::AA::A2::CB cb_; std::shared_ptr cc_; std::map> *cd_; std::array co_; static A::AA::A16::CP *cp_; CBA() = default; CBA(A::AA::A14::CN *cn) { } friend A::AA::A17::CR; template CBA(std::tuple &items) { } void ce(const std::vector /*ce_*/) { } std::shared_ptr cg() { return {}; } template void ch(std::map> &ch_) { } template std::map> ci(T * /*t*/) { return {}; } A::AA::A18::S s; }; void cj(std::unique_ptr /*cj_*/) { } std::unique_ptr ck() { return {}; } template void cl(std::map> & /*ch_*/) { } template std::map> cm() { return {}; } } } // namespace t30002 } // namespace clanguml ``` ## Generated PlantUML diagrams ![t30002_package](./t30002_package.svg "Package dependency test case") ## Generated Mermaid diagrams ![t30002_package](./t30002_package_mermaid.svg "Package dependency test case") ## Generated JSON models ```json { "diagram_type": "package", "elements": [ { "display_name": "A", "elements": [ { "display_name": "AA", "elements": [ { "display_name": "A1", "id": "9319733512138168425", "is_deprecated": false, "name": "A1", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 10, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A2", "id": "5562928906891852079", "is_deprecated": false, "name": "A2", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 13, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A3", "id": "10141672598406988224", "is_deprecated": false, "name": "A3", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 18, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A4", "id": "2394102540250964834", "is_deprecated": false, "name": "A4", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 21, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A5", "id": "9662114321733444169", "is_deprecated": false, "name": "A5", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 24, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A6", "id": "7192729013823215515", "is_deprecated": false, "name": "A6", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 27, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A7", "id": "4510893876404442092", "is_deprecated": false, "name": "A7", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 30, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A8", "id": "6713170737149747123", "is_deprecated": false, "name": "A8", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 33, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A9", "id": "13206681275667377960", "is_deprecated": false, "name": "A9", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 36, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A10", "id": "11625943530579009458", "is_deprecated": false, "name": "A10", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 39, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A11", "id": "3078670210975015891", "is_deprecated": false, "name": "A11", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 42, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A12", "id": "9596216299922841108", "is_deprecated": false, "name": "A12", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 45, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A13", "id": "4965517949692921527", "is_deprecated": false, "name": "A13", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 48, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A14", "id": "2414867811021691488", "is_deprecated": false, "name": "A14", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 51, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A15", "id": "4489917650621835488", "is_deprecated": false, "name": "A15", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 54, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A16", "id": "11323187065267284195", "is_deprecated": false, "name": "A16", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 57, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A17", "id": "4259502996240959994", "is_deprecated": false, "name": "A17", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 60, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "A18", "id": "3245698680931899146", "is_deprecated": false, "name": "A18", "namespace": "clanguml::t30002::A::AA", "source_location": { "column": 11, "file": "t30002.cc", "line": 63, "translation_unit": "t30002.cc" }, "type": "namespace" } ], "id": "13357963775744683208", "is_deprecated": false, "name": "AA", "namespace": "clanguml::t30002::A", "source_location": { "column": 14, "file": "t30002.cc", "line": 9, "translation_unit": "t30002.cc" }, "type": "namespace" } ], "id": "12347845725058053133", "is_deprecated": false, "name": "A", "namespace": "clanguml::t30002", "source_location": { "column": 11, "file": "t30002.cc", "line": 9, "translation_unit": "t30002.cc" }, "type": "namespace" }, { "display_name": "B", "elements": [ { "display_name": "BB", "elements": [ { "display_name": "BBB", "id": "18044170717259402844", "is_deprecated": false, "name": "BBB", "namespace": "clanguml::t30002::B::BB", "source_location": { "column": 18, "file": "t30002.cc", "line": 67, "translation_unit": "t30002.cc" }, "type": "namespace" } ], "id": "15510893116990553883", "is_deprecated": false, "name": "BB", "namespace": "clanguml::t30002::B", "source_location": { "column": 14, "file": "t30002.cc", "line": 67, "translation_unit": "t30002.cc" }, "type": "namespace" } ], "id": "1162422187714887647", "is_deprecated": false, "name": "B", "namespace": "clanguml::t30002", "source_location": { "column": 11, "file": "t30002.cc", "line": 67, "translation_unit": "t30002.cc" }, "type": "namespace" } ], "name": "t30002_package", "package_type": "namespace", "relationships": [ { "destination": "6713170737149747123", "source": "18044170717259402844", "type": "dependency" }, { "destination": "13206681275667377960", "source": "18044170717259402844", "type": "dependency" }, { "destination": "9319733512138168425", "source": "18044170717259402844", "type": "dependency" }, { "destination": "5562928906891852079", "source": "18044170717259402844", "type": "dependency" }, { "destination": "10141672598406988224", "source": "18044170717259402844", "type": "dependency" }, { "destination": "2394102540250964834", "source": "18044170717259402844", "type": "dependency" }, { "destination": "4489917650621835488", "source": "18044170717259402844", "type": "dependency" }, { "destination": "3245698680931899146", "source": "18044170717259402844", "type": "dependency" }, { "destination": "11323187065267284195", "source": "18044170717259402844", "type": "dependency" }, { "destination": "2414867811021691488", "source": "18044170717259402844", "type": "dependency" }, { "destination": "9662114321733444169", "source": "18044170717259402844", "type": "dependency" }, { "destination": "4510893876404442092", "source": "18044170717259402844", "type": "dependency" }, { "destination": "4259502996240959994", "source": "18044170717259402844", "type": "dependency" }, { "destination": "7192729013823215515", "source": "18044170717259402844", "type": "dependency" }, { "destination": "11625943530579009458", "source": "18044170717259402844", "type": "dependency" }, { "destination": "3078670210975015891", "source": "18044170717259402844", "type": "dependency" }, { "destination": "9596216299922841108", "source": "18044170717259402844", "type": "dependency" }, { "destination": "4965517949692921527", "source": "18044170717259402844", "type": "dependency" } ], "using_namespace": "clanguml::t30002" } ``` ## Generated GraphML models ```xml clanguml::t30002 A namespace AA namespace A1 namespace A2 namespace A3 namespace A4 namespace A5 namespace A6 namespace A7 namespace A8 namespace A9 namespace A10 namespace A11 namespace A12 namespace A13 namespace A14 namespace A15 namespace A16 namespace A17 namespace A18 namespace B namespace BB namespace BBB namespace dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency dependency ```