# 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<T>
      relationships:
        - inheritance
```
## Source code
File t00039.cc
```cpp
#include <string>

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 ns3 {
template <typename T> struct F {
    T *t;
};

template <typename T, typename M> struct FF : public F<T> {
    M *m;
};

template <typename T, typename M> struct FE : public F<T> {
    M *m;
};

template <typename T, typename M, typename N> struct FFF : public FF<T, M> {
    N *n;
};

} // namespace ns3
} // namespace clanguml::t00039

```
## Generated UML diagrams
![t00039_class](./t00039_class.svg "Subclass class diagram filter test")
