Files
clang-uml/docs/test_cases/t20011.md
2022-11-30 21:32:37 +01:00

892 B

t20011 - Recursive calls sequence diagram test case

Config

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

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