1.1 KiB
1.1 KiB
t20021 - Loop statements sequence diagram test case
Config
compilation_database_dir: ..
output_directory: puml
diagrams:
t20021_sequence:
type: sequence
glob:
- ../../tests/t20021/t20021.cc
include:
namespaces:
- clanguml::t20021
using_namespace:
- clanguml::t20021
start_from:
- function: "clanguml::t20021::tmain()"
Source code
File t20021.cc
#include <vector>
namespace clanguml {
namespace t20021 {
struct A {
int a1() { return 0; }
int a2() { return 1; }
int a3() { return 2; }
};
struct B {
void log() { }
int b1() const { return 3; }
int b2() const { return 4; }
};
int tmain()
{
A a;
std::vector<B> b;
int i = 10;
while (i--) {
int j = a.a3();
do {
for (int l = a.a2(); l > 0; l--)
a.a1();
} while (j--);
}
int result = 0;
for (const auto &bi : b) {
result += bi.b2();
}
return b.front().b2() + result;
}
}
}