On 03/06/2014 04:38 PM, Bjorn Reese wrote:
On 03/06/2014 02:35 PM, TONGARI J wrote:
I'm confused. Your json::iarchive takes iterators not istream. I see there's stream_oarchive but no stream_iarchive, something I missed?
I have not needed stream_iarchive so far. But you are right, it should be added.
It just occurred to me that the term "streaming" is ambiguous. When we talk about streaming parsers there are two interpretations: 1. The parser will read from an input stream and deliver the results in a DOM (or via a builder design pattern like SAX-style events.) The parser may block while waiting for the next data on the input stream. 2. The parser only returns the next element, so you have to put a loop around it to get a full parse. This is the StAX-style parsing [1]. When I mentioned that protoc is a streaming parser, I was thinking about the second category, whereas the stream archives belong to the first category, so I see the confusion now. I am going to change my vocabulary accordingly and refer to the second category as pull parsers from now on. [1] http://en.wikipedia.org/wiki/StAX