# t00039 - Subclass class diagram filter test ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t00039_class: type: class generate_packages: false glob: - ../../tests/t00039/t00039.cc using_namespace: - clanguml::t00039 include: subclasses: - clanguml::t00039::A - clanguml::t00039::C - clanguml::t00039::D - clanguml::t00039::E - clanguml::t00039::ns3::F relationships: - inheritance exclude: namespaces: - clanguml::t00039::detail - clanguml::t00039::ns3::detail ``` ## Source code File t00039.cc ```cpp #include namespace clanguml::t00039 { struct B { }; struct C { }; struct D { }; struct E { }; namespace ns1 { struct BB : public B { }; } // namespace ns1 struct CD : public C, public D { }; struct DE : public D, public E { }; struct CDE : public C, public D, public E { }; struct A { }; struct AA : public A { }; struct AAA : public AA { B *b; }; namespace ns2 { struct AAAA : public virtual AAA { }; } // namespace ns2 namespace detail { struct AA : public A { }; } // namespace detail namespace ns3 { template struct F { T *t; }; template struct FF : public F { M *m; }; template struct FE : public F { M *m; }; template struct FFF : public FF { N *n; }; } // namespace ns3 } // namespace clanguml::t00039 ``` ## Generated UML diagrams ![t00039_class](./t00039_class.svg "Subclass class diagram filter test")