Em ter., 22 de set. de 2020 às 09:22, Peter Dimov
But I'm more excited about Boost.Hana's Struct integration actually.
Is this like
https://pdimov.github.io/describe/doc/html/describe.html#example_serializati...
or do you have something else in mind?
Yes and no. If you rely on universal serialization, you fall back to Boost.Serialization implied ordered trees. The TMP code could look like the example you linked (e.g. one mp11::mp_for_each() here and there). Are you willing to submit a new reflection library to Boost? I'd be glad to hear all about it after Boost.JSON's review. One of such questions would be: how does it compare to Boost.Hana's Struct? The reason why I'm trying to delay this debate is because I know we'll have lots of noise from non-interested parties and I'd rather not deal with that. A couple extra days and all the unwanted noise would vanish. There are a few questions to sort it out: - Do you want to enable Boost.Hana by default or use an opt-in mechanism? - Overload rules to choose the most specific serialization. - Integration to Boost.Serialization's extra features. This will require a larger time investment, but has nothing to do with Boost.Hana or integration to any other reflection library. - And of course, concerns raised by interested stakeholders. The end game would be: ```json { "foo": 42, "bar": "hello world" } ``` (de)serializes effortlessly to: ```cpp struct Foobar { int foo; std::string bar; }; ``` just like Go's json.Unmarshal() -- Vinícius dos Santos Oliveira https://vinipsmaker.github.io/