On Tuesday, 8 October 2013 at 20:50:22 UTC, Matt Soucy wrote:
Thanks for the tip - I actually did find this one when I started using this, however I found it on another page that hadn't been updated (that I ironically can't find now), so I wrongfully assumed that it was abandoned. I did find the github page, but I wasn't thrilled by it.


You're thinking: https://256.makerslocal.org/wiki/index.php/ProtocolBuffer
I've been updating it from that


Pros for opticron's:
        Much more idiomatic code
        Supports D1
        Much better unit tests
Pros for mine (highly based on opinion):
        Exposes slightly more convenient helpers
        (In my opinion) slightly easier to read
Generated code looks like a POD struct, though with some "hidden" attributes (optional variables support .clean(), .exists(), instead of
looking like myStruct.foo_exists())

For the D2 output I've got it really close to POD. It declares fields as Nullable!T meaning myStruct.foo.isNull would check availability. I was intending to distinguish required/optional with this, but that would remove error checking (which I don't think is there yet).

Basically, mine is much more simplistic, which is both good and bad. I'd like to improve mine a bit more, and the one you pointed me at is pretty
good. It gave me some things to improve on.

Go for it, have fun.

Reply via email to