diff --git a/docs/test_cases.md b/docs/test_cases.md index 8f06dcc2..19d605fa 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -30,6 +30,7 @@ * [t00029](./test_cases/t00029.md) - PlantUML skip decorator test case * [t00030](./test_cases/t00030.md) - PlantUML relationship decorators test case * [t00031](./test_cases/t00031.md) - PlantUML style decorator test case + * [t00032](./test_cases/t00032.md) - Class template with template base classes test case ## Sequence diagrams * [t20001](./test_cases/t20001.md) - Basic sequence diagram ## Configuration diagrams diff --git a/docs/test_cases/t00032.md b/docs/test_cases/t00032.md new file mode 100644 index 00000000..839b10c7 --- /dev/null +++ b/docs/test_cases/t00032.md @@ -0,0 +1,62 @@ +# t00032 - Class template with template base classes test case +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t00032_class: + type: class + glob: + - ../../tests/t00032/t00032.cc + using_namespace: + - clanguml::t00032 + include: + namespaces: + - clanguml::t00032 + +``` +## Source code +File t00032.cc +```cpp +#include +#include + +namespace clanguml { +namespace t00032 { + +struct Base { +}; + +struct TBase { +}; + +struct A { + void operator()() { } +}; + +struct B { + void operator()() { } +}; + +struct C { + void operator()() { } +}; + +template +struct Overload : public Base, public T, public Ts... { + using Ts::operator()...; + L counter; +}; + +template Overload(Ts...) -> Overload; + +struct R { + Overload overload; +}; + +} // namespace t00032 +} // namespace clanguml + +``` +## Generated UML diagrams +![t00032_class](./t00032_class.png "Class template with template base classes test case") diff --git a/docs/test_cases/t00032_class.png b/docs/test_cases/t00032_class.png new file mode 100644 index 00000000..a8dd3edb Binary files /dev/null and b/docs/test_cases/t00032_class.png differ diff --git a/tests/test_cases.yaml b/tests/test_cases.yaml index a34689f6..160c327b 100644 --- a/tests/test_cases.yaml +++ b/tests/test_cases.yaml @@ -90,6 +90,9 @@ test_cases: - name: t00031 title: PlantUML style decorator test case description: + - name: t00032 + title: Class template with template base classes test case + description: Sequence diagrams: - name: t20001 title: Basic sequence diagram