> On 15 Jun 2018, at 13:31, Arnaud Clère <[email protected]> wrote:
>
[snip]
> Most user-defined bind methods would be very simple and the type system would
> guarantee that data is well-formed (no sequence or record left open...):
>
> struct Person {
> QString m_firstName, m_lastName;
> int m_age;
>
> template<TResult>
> TResult bind(Val<TResult> value) { return value
> .record()
> .sequence("name")
> .bind(m_firstName)
> .bind(m_lastName)
> .out()
> .bind("age" , m_age); // automagically closes opened record
> }
> };
Not commenting on this API, but I’d like to note that the API I brought up as
“missing” from my use-case was a more “light weight” in-place edit API, where
the user does not have to define bindings to data structures like above.
Similar to e.g. python:
>>> data = json.loads('{ "foo": [1, 2, 3] }')
>>> data
{u'foo': [1, 2, 3]}
>>> data["foo"][0] = 42
>>> data
{u'foo': [42, 2, 3]}
With our existing APIs I’d expect:
QJsonDocument doc;
doc[“foo”][0] = 42;
Tor Arne
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development