News for hackers. Stuff that matters.
Re:Reflection for C++26 by bdd8f1df777b on Monday July 01, 2024 @10:55PM (#40853159)
What I commonly need is JSON serialization/parsing directly with structs.
Re:Reflection for C++26 by beached_whale on Tuesday July 02, 2024 @01:26AM (#40853788)
They exist, for instance https://github.com/beached/daw_json_link , uses mappings of JSON <-> class members/construction. It handles a bunch of types out of the box and allows custom types to be mapped. Also, it integrates with some of the reflection like libraries out there now(Boost.Describe/Boost.PFR) and will be trivial to add C++26 static reflection when available.

Because the library doesn’t need to allocate unless the underlying types being parsed to do, it has been constexpr since C++17 too.

A bunch of people have used libraries that use macros for reflection like or PFR to integrate other C++ JSON Libraries too.

Re:Reflection for C++26 by bdd8f1df777b on Tuesday July 02, 2024 @10:05PM (#40862169)
Without static reflection, we need to write a lot of boilerplate code, and those boilerplate is not guaranteed to stay in sync with the struct definition. That is why static reflection is sorely needed.
Re:Reflection for C++26 by beached_whale on Wednesday July 03, 2024 @01:30AM (#40862991)
Even static reflection isn’t a panacea and we have it now the libraries like PFR that give us a reference and name of each member for aggregates. But this is the same problem for anything else using those types too. For non-aggregates we need reflection or some manual library.

I am not disagreeing, just more saying what we have now.