# t00042 - Specialization class template diagram filter test
## Config
```yaml
compilation_database_dir: ..
output_directory: puml
diagrams:
  t00042_class:
    type: class
    generate_packages: false
    glob:
      - ../../tests/t00042/t00042.cc
    using_namespace:
      - clanguml::t00042
    include:
      specializations:
        - clanguml::t00042::A<T>
        - clanguml::t00042::B<T,K>
      relationships:
        - instantiation
    exclude:
      specializations:
        - clanguml::t00042::C<T>
```
## Source code
File t00042.cc
```cpp
#include <string>

namespace clanguml::t00042 {

template <typename T> struct A {
    T a;
};

template <> struct A<void> {
    void *a;
};

template <typename T, typename K> struct B {
    T b;
    K bb;
};

template <typename T> struct C {
    T c;
};

struct R {
    A<double> a_double;
    A<std::string> a_string;

    B<int, float> b_int_float;

    C<int> c_int;
};

} // namespace clanguml::t00042

```
## Generated UML diagrams
![t00042_class](./t00042_class.svg "Specialization class template diagram filter test")
