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 <lars.kn...@qt.io> 

>>> 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
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to