# t30008 - Dependants and dependencies package diagram filter test ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t30008_package: type: package glob: - ../../tests/t30008/t30008.cc include: dependants: - clanguml::t30008::dependants::A dependencies: - clanguml::t30008::dependencies::F using_namespace: - clanguml::t30008 plantuml: before: - "' t30008 test package diagram" ``` ## Source code File t30008.cc ```cpp namespace clanguml { namespace t30008 { namespace dependants { namespace X { } namespace A { struct AA { }; } namespace B { struct BB { A::AA *aa; }; } namespace C { struct CC { B::BB *bb; }; } } // namespace dependants namespace dependencies { namespace Y { } namespace D { struct DD { }; } namespace E { struct EE { D::DD *dd; }; } namespace F { struct FF { E::EE *ee; }; } } // namespace dependencies } // namespace t30008 } // namespace clanguml ``` ## Generated UML diagrams ![t30008_package](./t30008_package.svg "Dependants and dependencies package diagram filter test") ## Generated JSON models ```json { "diagram_type": "package", "elements": [ { "display_name": "clanguml", "elements": [ { "display_name": "clanguml::t30008", "id": "588296309731944574", "is_deprecated": false, "name": "t30008", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 2, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" } ], "id": "2174271399507040339", "is_deprecated": false, "name": "clanguml", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 1, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependants", "elements": [ { "display_name": "clanguml::t30008::dependants::A", "id": "2096441629244782012", "is_deprecated": false, "name": "A", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 7, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependants::B", "id": "500208250168931957", "is_deprecated": false, "name": "B", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 10, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependants::C", "id": "1095841247154575825", "is_deprecated": false, "name": "C", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 15, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" } ], "id": "1601960042765615222", "is_deprecated": false, "name": "dependants", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 4, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependencies", "elements": [ { "display_name": "clanguml::t30008::dependencies::D", "id": "912387297717034254", "is_deprecated": false, "name": "D", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 27, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependencies::E", "id": "1114997990364518938", "is_deprecated": false, "name": "E", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 30, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" }, { "display_name": "clanguml::t30008::dependencies::F", "id": "1062827161678172094", "is_deprecated": false, "name": "F", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 35, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" } ], "id": "2103969167872217960", "is_deprecated": false, "name": "dependencies", "source_location": { "column": 11, "file": "../../tests/t30008/t30008.cc", "line": 23, "translation_unit": "../../tests/t30008/t30008.cc" }, "type": "namespace" } ], "metadata": { "clang_uml_version": "0.3.7-37-g8d1bac0", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t30008_package", "relationships": [ { "destination": "2096441629244782012", "source": "500208250168931957", "type": "dependency" }, { "destination": "500208250168931957", "source": "1095841247154575825", "type": "dependency" }, { "destination": "912387297717034254", "source": "1114997990364518938", "type": "dependency" }, { "destination": "1114997990364518938", "source": "1062827161678172094", "type": "dependency" } ], "using_namespace": "clanguml::t30008" } ```