# t00066 - Class fields and methods without grouping and sorting ## Config ```yaml compilation_database_dir: .. output_directory: diagrams diagrams: t00066_class: type: class glob: - ../../tests/t00066/t00066.cc include: namespaces: - clanguml::t00066 member_order: as_is group_methods: false using_namespace: - clanguml::t00066 ``` ## Source code File t00066.cc ```cpp #include #include namespace clanguml { namespace t00066 { class A { public: A() = default; A(int i) : private_member{i} { } A(A &&) = default; A(const A &) = delete; virtual ~A() = default; void basic_method() { } static int static_method() { return 0; } void const_method() const { } auto auto_method() { return 1; } A &operator++() { private_member++; return *this; } A &operator=(A &&other) noexcept { return *this; } A &operator=(A &other) noexcept { return *this; } std::size_t size() const { return private_member; } auto double_int(const int i) { return 2 * i; } auto sum(const double a, const double b) { return a_ + b_ + c_; } auto default_int(int i = 12) { return i + 10; } std::string default_string(int i, std::string s = "abc") { return s + std::to_string(i); } static A create_from_int(int i) { return A(i); } int public_member; static int static_int; static const int static_const_int = 1; static const auto auto_member{10UL}; protected: void protected_method() { } int protected_member; std::function compare = [this](const int v) { return private_member > v; }; private: void private_method() { } int private_member; int a_, b_, c_; }; int A::static_int = 1; } // namespace t00066 } // namespace clanguml ``` ## Generated PlantUML diagrams ![t00066_class](./t00066_class.svg "Class fields and methods without grouping and sorting") ## Generated Mermaid diagrams ![t00066_class](./t00066_class_mermaid.svg "Class fields and methods without grouping and sorting") ## Generated JSON models ```json { "diagram_type": "class", "elements": [ { "bases": [], "display_name": "clanguml::t00066::A", "id": "1899957281758233935", "is_abstract": false, "is_nested": false, "is_struct": false, "is_template": false, "is_union": false, "members": [ { "access": "public", "is_static": false, "name": "public_member", "source_location": { "column": 9, "file": "../../tests/t00066/t00066.cc", "line": 45, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "protected", "is_static": false, "name": "protected_member", "source_location": { "column": 9, "file": "../../tests/t00066/t00066.cc", "line": 53, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "protected", "is_static": false, "name": "compare", "source_location": { "column": 36, "file": "../../tests/t00066/t00066.cc", "line": 55, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "std::function" }, { "access": "private", "is_static": false, "name": "private_member", "source_location": { "column": 9, "file": "../../tests/t00066/t00066.cc", "line": 62, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "private", "is_static": false, "name": "a_", "source_location": { "column": 9, "file": "../../tests/t00066/t00066.cc", "line": 63, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "private", "is_static": false, "name": "b_", "source_location": { "column": 13, "file": "../../tests/t00066/t00066.cc", "line": 63, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "private", "is_static": false, "name": "c_", "source_location": { "column": 17, "file": "../../tests/t00066/t00066.cc", "line": 63, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_static": true, "name": "static_int", "source_location": { "column": 16, "file": "../../tests/t00066/t00066.cc", "line": 46, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_static": true, "name": "static_const_int", "source_location": { "column": 22, "file": "../../tests/t00066/t00066.cc", "line": 47, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "const int" }, { "access": "public", "is_static": true, "name": "auto_member", "source_location": { "column": 23, "file": "../../tests/t00066/t00066.cc", "line": 48, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "const unsigned long" } ], "methods": [ { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": true, "is_copy_assignment": false, "is_defaulted": true, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "A", "parameters": [], "source_location": { "column": 5, "file": "../../tests/t00066/t00066.cc", "line": 9, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": true, "is_copy_assignment": 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": "A", "parameters": [ { "name": "i", "type": "int" } ], "source_location": { "column": 5, "file": "../../tests/t00066/t00066.cc", "line": 10, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": true, "is_copy_assignment": false, "is_defaulted": true, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "A", "parameters": [ { "name": "", "type": "A &&" } ], "source_location": { "column": 5, "file": "../../tests/t00066/t00066.cc", "line": 14, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": true, "is_copy_assignment": false, "is_defaulted": false, "is_deleted": true, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "A", "parameters": [ { "name": "", "type": "const A &" } ], "source_location": { "column": 5, "file": "../../tests/t00066/t00066.cc", "line": 15, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_defaulted": true, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": false, "is_virtual": true, "name": "~A", "parameters": [], "source_location": { "column": 13, "file": "../../tests/t00066/t00066.cc", "line": 16, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "basic_method", "parameters": [], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 18, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": true, "is_virtual": false, "name": "static_method", "parameters": [], "source_location": { "column": 16, "file": "../../tests/t00066/t00066.cc", "line": 19, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_const": true, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "const_method", "parameters": [], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 20, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "auto_method", "parameters": [], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 21, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": true, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "operator++", "parameters": [], "source_location": { "column": 8, "file": "../../tests/t00066/t00066.cc", "line": 23, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "A &" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": true, "is_noexcept": true, "is_operator": true, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "operator=", "parameters": [ { "name": "other", "type": "A &&" } ], "source_location": { "column": 8, "file": "../../tests/t00066/t00066.cc", "line": 29, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "A &" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": true, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": true, "is_operator": true, "is_pure_virtual": false, "is_static": false, "is_virtual": false, "name": "operator=", "parameters": [ { "name": "other", "type": "A &" } ], "source_location": { "column": 8, "file": "../../tests/t00066/t00066.cc", "line": 30, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "A &" }, { "access": "public", "is_const": true, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "size", "parameters": [], "source_location": { "column": 17, "file": "../../tests/t00066/t00066.cc", "line": 32, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "std::size_t" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "double_int", "parameters": [ { "name": "i", "type": "const int" } ], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 34, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "sum", "parameters": [ { "name": "a", "type": "const double" }, { "name": "b", "type": "const double" } ], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 35, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "default_int", "parameters": [ { "default_value": "12", "name": "i", "type": "int" } ], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 37, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "int" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "default_string", "parameters": [ { "name": "i", "type": "int" }, { "default_value": "\"abc\"", "name": "s", "type": "std::string" } ], "source_location": { "column": 17, "file": "../../tests/t00066/t00066.cc", "line": 38, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "std::string" }, { "access": "public", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": false, "is_defaulted": false, "is_deleted": false, "is_move_assignment": false, "is_noexcept": false, "is_operator": false, "is_pure_virtual": false, "is_static": true, "is_virtual": false, "name": "create_from_int", "parameters": [ { "name": "i", "type": "int" } ], "source_location": { "column": 14, "file": "../../tests/t00066/t00066.cc", "line": 43, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "A" }, { "access": "protected", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "protected_method", "parameters": [], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 51, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" }, { "access": "private", "is_const": false, "is_consteval": false, "is_constexpr": false, "is_constructor": false, "is_copy_assignment": 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": "private_method", "parameters": [], "source_location": { "column": 10, "file": "../../tests/t00066/t00066.cc", "line": 60, "translation_unit": "../../tests/t00066/t00066.cc" }, "type": "void" } ], "name": "A", "namespace": "clanguml::t00066", "source_location": { "column": 7, "file": "../../tests/t00066/t00066.cc", "line": 7, "translation_unit": "../../tests/t00066/t00066.cc" }, "template_parameters": [], "type": "class" } ], "metadata": { "clang_uml_version": "0.4.0-28-g03ac212", "llvm_version": "Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105)", "schema_version": 1 }, "name": "t00066_class", "relationships": [], "using_namespace": "clanguml::t00066" } ```