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);