https://blog.bkryza.com/posts/generating-uml-diagrams-from-moderncpp-using-clang/