64 lines
1.1 KiB
Markdown
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
|
|

|