# t20004 - Function template instantiation sequence diagram test case ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t20004_sequence: type: sequence glob: - ../../tests/t20004/t20004.cc include: namespaces: - clanguml::t20004 using_namespace: - clanguml::t20004 start_from: - function: "clanguml::t20004::main()" ``` ## Source code File t20004.cc ```cpp namespace clanguml { namespace t20004 { template T m4(T p); template T m3(T p) { return m4(p); } template T m2(T p) { return m3(p); } template T m1(T p) { return m2(p); } template <> [[maybe_unused]] int m4(int p) { return p + 2; } int main() { return m1(0); } } } ``` ## Generated UML diagrams ![t20004_sequence](./t20004_sequence.svg "Function template instantiation sequence diagram test case")