Mercurial > projects > orange
diff orange/serialization/archives/Archive.d @ 34:068e853b9c07 experimental
Cleaned up. Updated to latest D2 compiler.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 01 Aug 2011 20:34:54 +0200 |
parents | 4fea56a5849f |
children | 511d1ef4e299 |
line wrap: on
line diff
--- a/orange/serialization/archives/Archive.d Sun Jul 31 17:56:44 2011 +0200 +++ b/orange/serialization/archives/Archive.d Mon Aug 01 20:34:54 2011 +0200 @@ -12,16 +12,12 @@ else { import std.conv; - alias ConvError ConversionException; + alias ConvException ConversionException; } import orange.serialization.archives.ArchiveException; -import orange.serialization.Serializer; import orange.core.string; -version (Tango) alias void[] UntypedData; -else mixin ("alias immutable(void)[] UntypedData;"); - private enum ArchiveMode { archiving, @@ -30,7 +26,9 @@ struct Array { - void* ptr; + version (Tango) void* ptr; + else mixin("immutable(void)* ptr;"); + size_t length; size_t elementSize; @@ -49,7 +47,10 @@ interface Archive { - alias Serializer.Id Id; + alias size_t Id; + + version (Tango) alias void[] UntypedData; + else mixin ("alias immutable(void)[] UntypedData;"); void beginArchiving (); void beginUnarchiving (UntypedData data); @@ -160,7 +161,7 @@ //idouble unarchiveIdouble (string key); // currently not supported by to!() //ifloat unarchiveIfloat (string key); // currently not supported by to!()*/ int unarchiveInt (string key); - int unarchiveInt (Id id); + //int unarchiveInt (Id id); //ireal unarchiveIreal (string key); // currently not supported by to!() long unarchiveLong (string key); real unarchiveReal (string key);