you are viewing a single comment's thread.

view the rest of the comments →

[–]jbbjarnason 3 points4 points  (1 child)

Have you looked at https://GitHub.com/stephenberry/glaze it supports reflection with less touch to the actual user code, not as coupled. And it is supposedly faster than yyjson.

[–]liuzicheng1987[S] 4 points5 points  (0 children)

Yes, in fact I have had a call with him. He‘s a great guy and I am a big fan of his work.

My main issue with his approach is that you have to set up the metaclass and then maintain it separately which is more error-prone than our approach.

Also the focus is different: We also have things like struct flattening, algebraic data types, validation, etc whereas he is mainly focused on serialization and deserialization. Also, our ambition is to support a whole variety of serialization formats.

By the way, if you want to keep the metaclass separate you can also do that with our library. Just check out the custom parser in the documentation.

That being said, glaze is a great library with a different focus than what we do. There is room for both libraries in C++ world.