4 ms·
Cool to see C++ reflection getting somewhere. > The Docker image includes clang-p2996, Bloomberg’s experimental Clang fork that implements the reflection propo
by dsp_person 10mo 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 10mo agoThe 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 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 (:
- fthiesen 10mo agoBtw, 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_implementation_of_reflection_now_on_compiler/ https://www.reddit.com/r/cpp/comments/1ojbv1a/gcc_implementa... Will add support for it as soon as I have some time to spare!