Not C, but my C# version (protobuf-net) works along these lines. Values (and single-instance sub-messages) in the proto binary are typically pushed into property-accessor methods (which can do whatever they want) - and repeated sub-messages will get pushed through a collection's "Add" method (which can also do whatever they want).
Further, it has full support for lazy streaming (both input and output) of a sequence of items from a stream (via IEnumerable<T> in .NET). Most of this flexibility comes from the fact that the engine works with the programmers (mutable) type system, rather than creating its own (immutable) type system - so the developer can do pretty much anything they want with incoming data. Marc --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---