Am 24.06.2015 um 23:50 schrieb Martin Nowak:
On 06/23/2015 04:06 PM, Sönke Ludwig wrote:

Do you, or anyone else, have further ideas for higher level
functionality, or any concrete examples in other standard libraries?

Allowing to lazily foreach over elements would be nice.

foreach (elem; nodes.readArray)
{
     // each elem would be a bounded node stream (range)
     foreach (key, value; elem.readObject)
     {
     }
}


An initial version of readArray is up for discussion:
https://github.com/s-ludwig/std_data_json/blob/3efc0600b4f8598dd6ccf897d6140d3351b5ee84/source/stdx/data/json/parser.d#L955

Unfortunately it is @system, because the reference to the input range gets escaped. The "VR" struct also has to be non-copyable to avoid its "depth" field to get out of sync when it gets copied around.

Reply via email to