# t00043 - Dependants and dependencies class diagram filter test ## Config ```yaml diagrams: t00043_class: type: class generate_packages: true glob: - t00043.cc using_namespace: clanguml::t00043 include: dependants: - clanguml::t00043::dependants::A dependencies: - clanguml::t00043::dependencies::J relationships: - dependency exclude: dependants: - clanguml::t00043::dependants::EE dependencies: - clanguml::t00043::dependencies::II ``` ## Source code File `tests/t00043/t00043.cc` ```cpp namespace clanguml::t00043 { namespace dependants { struct A { }; struct B { void b(A *a) { } }; struct BB { void bb(A *a) { } }; struct C { void c(B *b) { } }; struct D { void d(C *c) { } void dd(BB *bb) { } }; struct E { void e(D *d) { } }; struct EE { void ee(E *e) { } }; struct EEE { void eee(EE *e) { } }; struct F { }; } // namespace dependants namespace dependencies { struct G { }; struct GG { }; struct H { void h(G *g) { } void hh(GG *gg) { } }; struct HH { void hh(G *g) { } }; struct I { void i(H *h) { } }; struct II; struct III { void iii(II *i) { } }; struct II { void ii() { } }; struct J { void i(I *i) { } void ii(II *ii) { } }; } // namespace dependencies } // namespace clanguml::t00043 ``` ## Generated PlantUML diagrams ![t00043_class](./t00043_class.svg "Dependants and dependencies class diagram filter test") ## Generated Mermaid diagrams ![t00043_class](./t00043_class_mermaid.svg "Dependants and dependencies class diagram filter test") ## Generated JSON models ```json { "diagram_type": "class", "elements": [ { "display_name": "dependants", "elements": [ { "bases": [], "display_name": "A", "id": "11637434407987684404", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "A", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 4, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "B", "id": "15783818127923447452", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "b", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "b", "parameters": [ { "name": "a", "type": "A *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 7, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "B", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 6, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "BB", "id": "15250332440207562361", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "bb", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "bb", "parameters": [ { "name": "a", "type": "A *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 11, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "BB", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 10, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "C", "id": "6590073802808972273", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "c", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "c", "parameters": [ { "name": "b", "type": "B *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 15, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "C", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 14, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "D", "id": "18223809722786235409", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "d", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "d", "parameters": [ { "name": "c", "type": "C *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 19, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" }, { "access": "public", "display_name": "dd", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "dd", "parameters": [ { "name": "bb", "type": "BB *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 20, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "D", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 18, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "E", "id": "13557484322350480935", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "e", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "e", "parameters": [ { "name": "d", "type": "D *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 24, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "E", "namespace": "clanguml::t00043::dependants", "source_location": { "column": 8, "file": "t00043.cc", "line": 23, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" } ], "name": "dependants", "type": "namespace" }, { "display_name": "dependencies", "elements": [ { "bases": [], "display_name": "G", "id": "5891204569465639198", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "G", "namespace": "clanguml::t00043::dependencies", "source_location": { "column": 8, "file": "t00043.cc", "line": 40, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "GG", "id": "12178381450358971290", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "GG", "namespace": "clanguml::t00043::dependencies", "source_location": { "column": 8, "file": "t00043.cc", "line": 42, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "H", "id": "12273531958602513366", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "h", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "h", "parameters": [ { "name": "g", "type": "G *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 45, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" }, { "access": "public", "display_name": "hh", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "hh", "parameters": [ { "name": "gg", "type": "GG *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 46, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "H", "namespace": "clanguml::t00043::dependencies", "source_location": { "column": 8, "file": "t00043.cc", "line": 44, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "I", "id": "779380350157922875", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "i", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "i", "parameters": [ { "name": "h", "type": "H *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 54, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "I", "namespace": "clanguml::t00043::dependencies", "source_location": { "column": 8, "file": "t00043.cc", "line": 53, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "J", "id": "11988240344851504088", "is_abstract": false, "is_nested": false, "is_struct": true, "is_template": false, "is_union": false, "members": [], "methods": [ { "access": "public", "display_name": "i", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "i", "parameters": [ { "name": "i", "type": "I *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 67, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" }, { "access": "public", "display_name": "ii", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_coroutine": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "ii", "parameters": [ { "name": "ii", "type": "II *" } ], "source_location": { "column": 10, "file": "t00043.cc", "line": 68, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "void" } ], "name": "J", "namespace": "clanguml::t00043::dependencies", "source_location": { "column": 8, "file": "t00043.cc", "line": 66, "translation_unit": "t00043.cc" }, "template_parameters": [], "type": "class" } ], "name": "dependencies", "type": "namespace" } ], "name": "t00043_class", "package_type": "namespace", "relationships": [ { "access": "public", "destination": "11637434407987684404", "source": "15783818127923447452", "type": "dependency" }, { "access": "public", "destination": "11637434407987684404", "source": "15250332440207562361", "type": "dependency" }, { "access": "public", "destination": "15783818127923447452", "source": "6590073802808972273", "type": "dependency" }, { "access": "public", "destination": "6590073802808972273", "source": "18223809722786235409", "type": "dependency" }, { "access": "public", "destination": "15250332440207562361", "source": "18223809722786235409", "type": "dependency" }, { "access": "public", "destination": "18223809722786235409", "source": "13557484322350480935", "type": "dependency" }, { "access": "public", "destination": "5891204569465639198", "source": "12273531958602513366", "type": "dependency" }, { "access": "public", "destination": "12178381450358971290", "source": "12273531958602513366", "type": "dependency" }, { "access": "public", "destination": "12273531958602513366", "source": "779380350157922875", "type": "dependency" }, { "access": "public", "destination": "779380350157922875", "source": "11988240344851504088", "type": "dependency" }, { "access": "public", "destination": "1112226203938309888", "source": "11988240344851504088", "type": "dependency" } ], "using_namespace": "clanguml::t00043" } ```