Remix.run Logo
dsp_person 3 days ago

Cool to see C++ reflection getting somewhere.

> The Docker image includes clang-p2996, Bloomberg’s experimental Clang fork that implements the reflection proposal. As P2996 moves toward standardization, expect this to land in mainline compilers.

Possible to use that C++26 compiler just to do code generation for the binding code, and then use any other compiler for your actual build? I suppose alternatively could use a parser. Is the reflection code easy to work with in comparison? A year or two ago I spent some hours pulling my hair out trying to do some reflection in C++ until I gave up and spent the 20mins needed to write a python script to read my source files and do the code generation I needed.

fthiesen 3 days ago | parent | next [-]

Btw, it seems that the reflection implementations are progressing quite fast. There is already a gcc version with reflection support that is available on compiler explorer: https://www.reddit.com/r/cpp/comments/1ojbv1a/gcc_implementa...

Will add support for it as soon as I have some time to spare!

fthiesen 3 days ago | parent | prev [-]

The P2996 definitely provides a way to work with reflection, the syntax can be a bit weird at first, but it gets more and more familiar. They have some cool examples here (https://isocpp.org/files/papers/P2996R13.html)

This idea of using C++26 compiler just for codegen sounds interesting. Will definitely give it some thought, thanks for the suggestion (: