[Development] Proposal for an efficient and robust (de)serialization mechanism working with Qt-supported data

Lars Knoll lars.knoll at qt.io
Wed Sep 4 08:43:09 CEST 2019


> On 3 Sep 2019, at 17:24, Jason H <jhihn at gmx.com> wrote:
> 
>>> Suggestions:
>>> pack, wad (another indirect Doom reference), bale, herd, doss, 
>>> transfigure (probably too long)
>> 
>> I cannot resist to suggest QTransmogrifier 😊 [1]
>> Seriously, QBind is akin to GUI data binding and SQL parameter binding but more specialized so I would just pick a more descriptive name. Also, since it is a generic function class (not a functor), I would keep the verb Bind in it. And since it addresses only values (object graphs must be somehow encoded before they can be 'bound'), I suggest:
>> - QValueBind (= QBind, the generic function class with bind(QValue&& v, T t) overloads)
>> - using QValue = Val<Cursor> as the start point of the fluent interface allowing to describe any T 'value' in a generic way
>> 
>> I am also not comfortable with 'Cursor' (a non-owning unique pointer used to bypass illegal or useless calls to the fluent interface) which conflicts with the usual definition of SQL cursors.
> 
> 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 ;-)

Cheers,
Lars

> 
> However "bindvalue" (the transposition of [value, bind]) is already a thing. https://doc.qt.io/qt-5/qsqlquery.html#bindValue , Which I would like to avoid because there could be serialization to SQL..
> 
> 
> Thought of another one, "flow"
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development



More information about the Development mailing list