Files
clang-uml/docs/test_cases/t00042.md
2022-09-03 11:15:58 +02:00

64 lines
1.1 KiB
Markdown

# 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>
namespaces:
- std
```
## 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")