# t20011 - Recursive calls sequence diagram test case ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t20011_sequence: type: sequence glob: - ../../tests/t20011/t20011.cc include: namespaces: - clanguml::t20011 using_namespace: - clanguml::t20011 start_from: - function: "clanguml::t20011::tmain()" ``` ## Source code File t20011.cc ```cpp namespace clanguml { namespace t20011 { struct A { void a(int i = 10) { if (i > 0) a(i - 1); } void b(int i = 10) { c(i); } void c(int i) { d(i); } void d(int i) { if (i > 0) b(i - 1); else a(); } }; void tmain() { A a; a.a(); a.b(); } } } ``` ## Generated UML diagrams ![t20011_sequence](./t20011_sequence.svg "Recursive calls sequence diagram test case")