# t00005 - Basic class field relationships ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t00005_class: type: class glob: - ../../tests/t00005/t00005.cc using_namespace: - clanguml::t00005 include: namespaces: - clanguml::t00005 ``` ## Source code File t00005.cc ```cpp namespace clanguml { namespace t00005 { class A { }; class B { }; class C { }; class D { }; class E { }; class F { }; class G { }; class H { }; class I { }; class J { }; class K { }; class R { public: int some_int; int *some_int_pointer; int **some_int_pointer_pointer; int &some_int_reference; A a; B *b; C &c; const D *d; const E &e{}; F &&f; G **g; H ***h; I *&i; volatile J *j; mutable K *k; }; } // namespace t00005 } // namespace clanguml ``` ## Generated UML diagrams ![t00005_class](./t00005_class.svg "Basic class field relationships") ## Generated JSON models ```json { "diagram_type": "class", "elements": [ { "bases": [], "display_name": "clanguml::t00005::A", "id": "96355893895780319", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "A", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 3, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::B", "id": "1909425857334087541", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "B", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 5, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::C", "id": "968176384460064907", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "C", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 7, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::D", "id": "1735599590836186693", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "D", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 9, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::E", "id": "887960136921844658", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "E", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 11, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::F", "id": "772719357856231772", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "F", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 13, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::G", "id": "979147885884736437", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "G", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 15, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::H", "id": "1440673301054236675", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "H", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 17, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::I", "id": "109681731550086430", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "I", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 19, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::J", "id": "338330011969650325", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "J", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 21, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::K", "id": "2179119389830432509", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [], "methods": [], "name": "K", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 23, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" }, { "bases": [], "display_name": "clanguml::t00005::R", "id": "630692407373144211", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [ { "access": "public", "is_static": false, "name": "some_int", "source_location": { "column": 9, "file": "../../tests/t00005/t00005.cc", "line": 27, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "int" }, { "access": "public", "is_static": false, "name": "some_int_pointer", "source_location": { "column": 10, "file": "../../tests/t00005/t00005.cc", "line": 28, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "int *" }, { "access": "public", "is_static": false, "name": "some_int_pointer_pointer", "source_location": { "column": 11, "file": "../../tests/t00005/t00005.cc", "line": 29, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "int **" }, { "access": "public", "is_static": false, "name": "some_int_reference", "source_location": { "column": 10, "file": "../../tests/t00005/t00005.cc", "line": 30, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "int &" }, { "access": "public", "is_static": false, "name": "a", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 31, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "A" }, { "access": "public", "is_static": false, "name": "b", "source_location": { "column": 8, "file": "../../tests/t00005/t00005.cc", "line": 32, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "B *" }, { "access": "public", "is_static": false, "name": "c", "source_location": { "column": 8, "file": "../../tests/t00005/t00005.cc", "line": 33, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "C &" }, { "access": "public", "is_static": false, "name": "d", "source_location": { "column": 14, "file": "../../tests/t00005/t00005.cc", "line": 34, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "const D *" }, { "access": "public", "is_static": false, "name": "e", "source_location": { "column": 14, "file": "../../tests/t00005/t00005.cc", "line": 35, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "const E &" }, { "access": "public", "is_static": false, "name": "f", "source_location": { "column": 9, "file": "../../tests/t00005/t00005.cc", "line": 36, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "F &&" }, { "access": "public", "is_static": false, "name": "g", "source_location": { "column": 9, "file": "../../tests/t00005/t00005.cc", "line": 37, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "G **" }, { "access": "public", "is_static": false, "name": "h", "source_location": { "column": 10, "file": "../../tests/t00005/t00005.cc", "line": 38, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "H ***" }, { "access": "public", "is_static": false, "name": "i", "source_location": { "column": 9, "file": "../../tests/t00005/t00005.cc", "line": 39, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "I *&" }, { "access": "public", "is_static": false, "name": "j", "source_location": { "column": 17, "file": "../../tests/t00005/t00005.cc", "line": 40, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "volatile J *" }, { "access": "public", "is_static": false, "name": "k", "source_location": { "column": 16, "file": "../../tests/t00005/t00005.cc", "line": 41, "translation_unit": "../../tests/t00005/t00005.cc" }, "type": "K *" } ], "methods": [], "name": "R", "namespace": "clanguml::t00005", "source_location": { "column": 7, "file": "../../tests/t00005/t00005.cc", "line": 25, "translation_unit": "../../tests/t00005/t00005.cc" }, "template_parameters": [], "type": "class" } ], "metadata": { "clang_uml_version": "0.3.7-4-g43cc5cb", "llvm_version": "Ubuntu clang version 16.0.1 (++20230328073357+42d1b276f779-1~exp1~20230328073502.65)", "schema_version": 1 }, "name": "t00005_class", "relationships": [ { "access": "public", "destination": "96355893895780319", "label": "a", "source": "630692407373144211", "type": "aggregation" }, { "access": "public", "destination": "1909425857334087541", "label": "b", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "968176384460064907", "label": "c", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "1735599590836186693", "label": "d", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "887960136921844658", "label": "e", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "772719357856231772", "label": "f", "source": "630692407373144211", "type": "aggregation" }, { "access": "public", "destination": "979147885884736437", "label": "g", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "1440673301054236675", "label": "h", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "109681731550086430", "label": "i", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "338330011969650325", "label": "j", "source": "630692407373144211", "type": "association" }, { "access": "public", "destination": "2179119389830432509", "label": "k", "source": "630692407373144211", "type": "association" } ], "using_namespace": "clanguml::t00005" } ```