Files
clang-uml/docs/test_cases/t00045.md
2022-06-24 15:54:15 +02:00

75 lines
907 B
Markdown

# t00045 - Test case for root namespace handling
## Config
```yaml
compilation_database_dir: ..
output_directory: puml
diagrams:
t00045_class:
type: class
glob:
- ../../tests/t00045/t00045.cc
exclude:
namespaces:
- std
```
## Source code
File t00045.cc
```cpp
class A {
};
class AA {
};
class AAA {
};
template <typename T> class AAAA {
T t;
};
namespace ns1 {
class A {
};
namespace ns2 {
class A {
};
class B : public A {
};
class C : public ns1::A {
};
class D : public ns1::ns2::A {
};
class E : public ::A {
};
class AAA {
};
class R {
public:
A *a;
ns1::A *ns1_a;
ns1::ns2::A *ns1_ns2_a;
::A *root_a;
friend ::AAA;
// TODO:
// template<typename T> friend class ::AAAA;
void foo(::AA &aa) { (void)aa; }
};
}
}
```
## Generated UML diagrams
![t00045_class](./t00045_class.svg "Test case for root namespace handling")