Files
clang-uml/docs/test_cases/t00004.md
2022-09-10 21:07:46 +02:00

1.1 KiB

t00004 - Nested classes and enums

Config

compilation_database_dir: ..
output_directory: puml
diagrams:
  t00004_class:
    type: class
    glob:
      - ../../tests/t00004/t00004.cc
    using_namespace:
      - clanguml::t00004
      - clanguml::t00004::A
      - clanguml::t00004::A::AA
    include:
      namespaces:
        - clanguml::t00004

Source code

File t00004.cc

namespace clanguml {
namespace t00004 {

class B {
public:
    enum AA { AA_1, AA_2, AA_3 };
};

class A {
public:
    void foo() const { }

    class AA {
    public:
        enum class Lights { Green, Yellow, Red };

        class AAA {
        };
    };

    void foo2() const { }
};

template <typename T> class C {
public:
    T t;

    class AA {
        class AAA {
        };

        enum class CCC { CCC_1, CCC_2 };
    };

    enum class CC { CC_1, CC_2 };
};

namespace detail {
class D {
public:
    enum class AA { AA_1, AA_2, AA_3 };

    class DD {
    };
};
}

}
}

Generated UML diagrams

t00004_class