# t40003 - Dependants and dependencies include diagram filter test ## Config ```yaml diagrams: t40003_include: type: include # Provide the files to parse in order to look # for #include directives glob: - src/dependants/t1.cc - src/dependencies/t2.cc # Render the paths relative to this directory include: # Include files which depend on t1.h dependants: - include/dependants/t1.h # and dependencies of t2.cc dependencies: - src/dependencies/t2.cc exclude: # Exclude files which depend on t10.h dependants: - include/dependants/t10.h # and other dependencies of t8.h dependencies: - include/dependencies/t8.h plantuml: before: - "' t40003 test include diagram" ``` ## Source code File `tests/t40003/src/dependencies/t2.cc` ```cpp #include "../../include/dependencies/t3.h" #include "../../include/dependencies/t5.h" namespace clanguml::t40003::dependencies { void t() { t3(); t5(); t8(); } } ``` File `tests/t40003/src/dependants/t1.cc` ```cpp #include "../../include/dependants/t3.h" #include "../../include/dependants/t4.h" namespace clanguml::t40003::dependants { void t() { t3(); t4(); } } ``` File `tests/t40003/include/dependencies/t3.h` ```cpp #pragma once #include "t2.h" namespace clanguml::t40003::dependencies { void t3() { t2(); } } ``` File `tests/t40003/include/dependencies/t8.h` ```cpp #pragma once #include "t7.h" namespace clanguml::t40003::dependencies { void t8() { t7(); } } ``` File `tests/t40003/include/dependencies/t1.h` ```cpp #pragma once namespace clanguml::t40003::dependencies { void t1() { } } ``` File `tests/t40003/include/dependencies/t6.h` ```cpp #pragma once #include "t1.h" namespace clanguml::t40003::dependencies { void t6() { t1(); } } ``` File `tests/t40003/include/dependencies/t5.h` ```cpp #pragma once #include "t1.h" #include "t8.h" namespace clanguml::t40003::dependencies { void t5() { t1(); t8(); } } ``` File `tests/t40003/include/dependencies/t2.h` ```cpp #pragma once #include "t1.h" namespace clanguml::t40003::dependencies { void t2() { t1(); } } ``` File `tests/t40003/include/dependencies/t7.h` ```cpp #pragma once namespace clanguml::t40003::dependencies { void t7() { } } ``` File `tests/t40003/include/dependants/t3.h` ```cpp #pragma once #include "t2.h" namespace clanguml::t40003::dependants { void t3() { t2(); } } ``` File `tests/t40003/include/dependants/t10.h` ```cpp #pragma once #include "t3.h" namespace clanguml::t40003::dependants { void t10() { t3(); } } ``` File `tests/t40003/include/dependants/t4.h` ```cpp #pragma once namespace clanguml::t40003::dependants { void t4() { } } ``` File `tests/t40003/include/dependants/t1.h` ```cpp #pragma once namespace clanguml::t40003::dependants { void t1() { } } ``` File `tests/t40003/include/dependants/t11.h` ```cpp #pragma once #include "t10.h" namespace clanguml::t40003::dependants { void t11() { t10(); } } ``` File `tests/t40003/include/dependants/t2.h` ```cpp #pragma once #include "t1.h" namespace clanguml::t40003::dependants { void t2() { t1(); } } ``` ## Generated PlantUML diagrams ![t40003_include](./t40003_include.svg "Dependants and dependencies include diagram filter test") ## Generated Mermaid diagrams ![t40003_include](./t40003_include_mermaid.svg "Dependants and dependencies include diagram filter test") ## Generated JSON models ```json { "diagram_type": "include", "elements": [ { "display_name": "src", "elements": [ { "display_name": "src/dependants", "elements": [ { "display_name": "src/dependants/t1.cc", "file_kind": "implementation", "id": "9722595473477539496", "name": "t1.cc", "type": "file" } ], "id": "9028452799776030089", "name": "dependants", "type": "folder" }, { "display_name": "src/dependencies", "elements": [ { "display_name": "src/dependencies/t2.cc", "file_kind": "implementation", "id": "17726793412846848469", "name": "t2.cc", "type": "file" } ], "id": "16123094630178690530", "name": "dependencies", "type": "folder" } ], "id": "11100957978370531577", "name": "src", "type": "folder" }, { "display_name": "include", "elements": [ { "display_name": "include/dependants", "elements": [ { "display_name": "include/dependants/t3.h", "file_kind": "header", "id": "480008165374689457", "is_system": false, "name": "t3.h", "type": "file" }, { "display_name": "include/dependants/t2.h", "file_kind": "header", "id": "15374743137536360107", "is_system": false, "name": "t2.h", "type": "file" }, { "display_name": "include/dependants/t1.h", "file_kind": "header", "id": "18362174245200108524", "is_system": false, "name": "t1.h", "type": "file" } ], "id": "14108210646791327956", "name": "dependants", "type": "folder" }, { "display_name": "include/dependencies", "elements": [ { "display_name": "include/dependencies/t3.h", "file_kind": "header", "id": "9814745789083909391", "is_system": false, "name": "t3.h", "type": "file" }, { "display_name": "include/dependencies/t2.h", "file_kind": "header", "id": "14794790605173081035", "is_system": false, "name": "t2.h", "type": "file" }, { "display_name": "include/dependencies/t1.h", "file_kind": "header", "id": "8962059906444515418", "is_system": false, "name": "t1.h", "type": "file" }, { "display_name": "include/dependencies/t5.h", "file_kind": "header", "id": "16849033273915995749", "is_system": false, "name": "t5.h", "type": "file" } ], "id": "14667830350821396139", "name": "dependencies", "type": "folder" } ], "id": "7915299339925655008", "name": "include", "type": "folder" } ], "name": "t40003_include", "relationships": [ { "destination": "480008165374689457", "source": "9722595473477539496", "type": "association" }, { "destination": "15063527289428202824", "source": "9722595473477539496", "type": "association" }, { "destination": "9814745789083909391", "source": "17726793412846848469", "type": "association" }, { "destination": "16849033273915995749", "source": "17726793412846848469", "type": "association" }, { "destination": "15374743137536360107", "source": "480008165374689457", "type": "association" }, { "destination": "18362174245200108524", "source": "15374743137536360107", "type": "association" }, { "destination": "14794790605173081035", "source": "9814745789083909391", "type": "association" }, { "destination": "8962059906444515418", "source": "14794790605173081035", "type": "association" }, { "destination": "8962059906444515418", "source": "16849033273915995749", "type": "association" }, { "destination": "15065692964616746228", "source": "16849033273915995749", "type": "association" }, { "destination": "7559120824700944250", "source": "15065692964616746228", "type": "association" } ] } ```