Hi,
clang-uml is an open-source C++ to UML diagram generator, driven by YAML configuration files.
The main idea behind the project is to easily maintain up-to-date diagrams within a code-base or document legacy code.
The configuration file for clang-uml defines the types and contents of each generated diagram.
The diagrams can be currently generated in PlantUML and JSON formats.
Main features:
- class, sequence, package and include diagrams
- up to C++17 with support for C++20 concepts
- visualization of template specialization relationships
- declarative diagram content filtering based on namespaces, elements and relationships
- relationship inference from C++ containers, smart pointers and custom templates
- customizable interactive links in diagrams (SVG output only)
- generation of UML packages from namespaces or directories
- JSON output containing intermediate diagram model representation for custom processing
More features, usage information and examples are in README at https://github.com/bkryza/clang-uml and online docs at https://clang-uml.github.io
In particular, checkout diagrams generated from test cases here: https://clang-uml.github.io/md_docs_2test__cases.html