Files
clang-uml/docs/test_cases/t20026.md
2022-12-14 00:04:34 +01:00

815 B

t20026 - Virtual method call sequence diagram test case

Config

compilation_database_dir: ..
output_directory: puml
diagrams:
  t20026_sequence:
    type: sequence
    glob:
      - ../../tests/t20026/t20026.cc
    include:
      namespaces:
        - clanguml::t20026
    using_namespace:
      - clanguml::t20026
    start_from:
      - function: "clanguml::t20026::tmain()"

Source code

File t20026.cc

namespace clanguml {
namespace t20026 {

struct A {
    virtual void a() { }
};

struct B : public A {
    void a() override { }
};

struct C : public B {
    void a() override { }
};

int tmain()
{
    C *a{};

    dynamic_cast<A *>(a)->a();

    return 0;
}
}
}

Generated UML diagrams

t20026_sequence