On 2013-08-24 14:45, ilya-stromberg wrote:

Great job!
A little question. For example, I would like to load data from previos
format and store current version in default std.serialization format.
So, I don't want to implement "toData" at all? Is it possible? Or can I
call the default serialization method? Something like this:

class Foo : Serializable
{
     long b;

     //I don't want to implement this
     void toData (Serializer serializer, Serializer.Data key)
     {
         serializer.serialize(this);
     }

     void fromData (Serializer serializer, Serializer.Data key)
     {
         b = serializer.deserialize!(int)("b");
     }
}

I actually noticed this problem when I wrote the example. First, the interface Serializable is actually not necessary because this is actually checked with at template at compile time, it's possible to use these methods for structs as well. Second, instead of checking for both "toData" and "fromData" when serializing and deserializing it should only check for "toData" when serializing and only for "fromData" when deserializing.

I'll add this to my todo list.

--
/Jacob Carlborg

Reply via email to