bkryza / clang-uml

Customizable automatic UML diagram generator for C++ based on Clang.
Apache License 2.0
602 stars 42 forks source link

Plans to support C++20? #66

Closed DeveloperPaul123 closed 1 year ago

DeveloperPaul123 commented 1 year ago

This is a really useful tool and we would like to use it on some of our codebases, but many of them are based on C++20. Are there plans to support this in the future?

bkryza commented 1 year ago

@DeveloperPaul123

Yes I definitely would like to address C++20, however currently I'm focusing on fixing bugs and improving the core C++17 language features, especially in the sequence diagrams...

To be honest, I haven't actually tried running clang-uml on any C++20 code base, so I don't know if and how it would fail in your case.

what would definitely not work are:

In case of concepts it's not clear to me also at the moment, how could they be expressed in UML/PlantUML diagrams...

DeveloperPaul123 commented 1 year ago

@bkryza

Sounds reasonable. I haven't been able to give it a go yet as I work on Windows so will need to build the tool from scratch or I may go the WSL route.

We make some use of concepts and ranges but you are correct in that I'm not sure how concepts would even be expressed in UML anyway.

Once I have more results I can update this issue.

bkryza commented 1 year ago

@DeveloperPaul123 FYI, I've just added instructions on how to build clang-uml and its dependencies on Windows using Microsoft Visual Studio:

https://github.com/bkryza/clang-uml/blob/master/docs/installation.md#visual-studio-native-build

bkryza commented 1 year ago

@DeveloperPaul123 Closing this issue as initial C++20 support is now in master, I will be creating more specific issues for supporting further C++20 features...