Cerealed v0.2.0 - a(nother) D serialisation library
Atila Neves
atila.neves at gmail.com
Tue Nov 19 05:24:43 PST 2013
On Monday, 18 November 2013 at 20:43:51 UTC, Jacob Carlborg wrote:
> On 2013-11-18 17:49, Atila Neves wrote:
>> http://code.dlang.org/packages/cerealed
>> https://github.com/atilaneves/cerealed
>
> How does it handle:
>
> * Slices - are they restored?
It serialises the slice and restores it as it was, not the data
behind it. I should add some tests for that.
> * Pointers - are they restored?
No, good point. I keep forgetting there are legitimate uses of
pointers in D. I was looking at the SList implementation the
other day and was surprised to see "new" used to create a struct
on the heap, something that would seem totally normal to me in
C++.
It should be easy enough to extend to pointers, I'll add that in
the next version.
> * Objects - is the same object only serialized once or
> duplicated?
I'm not sure I understand the question.
> * Serializing through base class reference - possible?
No. I can't see how that would be possible without implementing
an interface (I may well be wrong), and that was the kind of
thing I really didn't want to do. Not only that, but for the kind
of code I write, I either want to send something to the network,
in which case I know which class to instantiate and don't need a
base class reference, or I want to unmarshall bytes that came in.
In the latter case there's usually an identifier in the header to
tell the factory method which class to instantiante. So that
doesn't usually come up.
Atila
More information about the Digitalmars-d-announce
mailing list