Ok, I will not resist! Thinking twice, QTransmogrifier avoids promising too
much and the length is not a problem since it only appears as
QTransmogrifier<T> full specializations.
It is just *one* way to transform C++ data to an abstract structured value,
that will then be disguised as Cbor, Xml...
So, if you just need to get your data in Xml's disguise it's ok but like with
Calvin's transmogrifier, it may not be exactly the Xml you wanted.
See the result of QXmlWriter(&w).bind(person) :
<Person><names><string>John</string><string>Doe</string></names><height>1.75</height><age>18</age><phones/><comments>...</comments><children/></Person>
If you need xCard, you will have to write a customized 'bind' or use an xslt
afterward.
However, I would really keep 'bind' for the fluent interface methods that
associate a part of a value to a name. The context makes it clear we are not
binding SQL or function parameters. And it will suggest similarities with C++17
structured binding (just operating on abstract values instead of C++
aggregates):
auto [x,y] = {1,2}; //
https://en.cppreference.com/w/cpp/language/structured_binding
QJsonReader("{1,2}")
.sequence()
.bind(x)
.bind(y);
-----Original Message-----
From: Lars Knoll <[email protected]>
>>> transfigure (probably too long)
>> I cannot resist to suggest QTransmogrifier 😊
> You know, I was really tempted to suggest Transmogrifier but thought I would
> be the only one. I really do think it's a great name! Just a little too long.
> That said, it is an awesome name and very unique can't can't be mistaken for
> being anything else.
Great idea. My son would also love that name :)
And it would give me a great excuse to show Calvin and Hobbes strips whenever I
have to give a talk about Qt ;-)
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development