# t20016 - Template method specialization sequence diagram test case ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t20016_sequence: type: sequence glob: - ../../tests/t20016/t20016.cc include: namespaces: - clanguml::t20016 using_namespace: - clanguml::t20016 start_from: - function: "clanguml::t20016::tmain()" ``` ## Source code File t20016.cc ```cpp namespace clanguml { namespace t20016 { struct A { void a1(int a) { } template T a2(const T &a) { return a; } }; template struct B { void b1(T b) { a_.a1(1); } template F b2(T t) { return a_.a2(t); } A a_; }; void tmain() { B b; b.b1(1); b.b2(2); } } } ``` ## Generated UML diagrams ![t20016_sequence](./t20016_sequence.svg "Template method specialization sequence diagram test case")