# t00012 - Advanced template instantiations ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t00012_class: type: class glob: - ../../tests/t00012/t00012.cc using_namespace: - clanguml::t00012 include: namespaces: - clanguml::t00012 plantuml: after: - 'note right of @A(C>>>,3,3,3>) : Long template annotation' ``` ## Source code File t00012.cc ```cpp #include #include #include #include #include #include namespace clanguml { namespace t00012 { template class A { T value; std::variant values; }; template class B { std::array ints; }; template class C { std::array ints; }; class R { A a1; A a2; B<3, 2, 1> b1; B<1, 1, 1, 1> b2; C>>>, 3, 3, 3> c1; }; } } ``` ## Generated UML diagrams ![t00012_class](./t00012_class.png "Advanced template instantiations")