Files
clang-uml/docs/test_cases/t00004.md
2022-09-13 01:21:23 +02:00

82 lines
1.1 KiB
Markdown

# t00004 - Nested classes and enums
## Config
```yaml
compilation_database_dir: ..
output_directory: puml
diagrams:
t00004_class:
type: class
glob:
- ../../tests/t00004/t00004.cc
using_namespace:
- clanguml::t00004
- clanguml::t00004::A
- clanguml::t00004::A::AA
include:
namespaces:
- clanguml::t00004
```
## Source code
File t00004.cc
```cpp
namespace clanguml {
namespace t00004 {
class B {
public:
enum AA { AA_1, AA_2, AA_3 };
};
class A {
public:
void foo() const { }
class AA {
public:
enum class Lights { Green, Yellow, Red };
class AAA {
};
};
void foo2() const { }
};
template <typename T> class C {
public:
T t;
class AA {
class AAA {
};
enum class CCC { CCC_1, CCC_2 };
};
template <typename V> class B {
V b;
};
B<int> b_int;
enum class CC { CC_1, CC_2 };
};
namespace detail {
class D {
public:
enum class AA { AA_1, AA_2, AA_3 };
class DD {
};
};
}
}
}
```
## Generated UML diagrams
![t00004_class](./t00004_class.svg "Nested classes and enums")