# t00004 - Nested classes and enums ## Config ```yaml 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 ```cpp 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 class C { public: T t; class AA { class AAA { }; enum class CCC { CCC_1, CCC_2 }; }; template class B { V b; }; B b_int; enum class CC { CC_1, CC_2 }; }; namespace detail { class D { public: enum class AA { AA_1, AA_2, AA_3 }; class DD { }; }; } } // namespace t00004 } // namespace clanguml ``` ## Generated UML diagrams ![t00004_class](./t00004_class.svg "Nested classes and enums")