Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Features

  • Automatically serializes the base classes
  • Supports events (before and after (de)serializing)
  • Supports non-serialized fields and classes (you can say that some fields in a class should not be serialized)
  • Licensed under the Boost license
  • Std/runtime library independent
  • Extendable - possible to create new archive types and use them with the existing serializer
  • Serializes through base class references
  • Serializes third party types
  • Customization of the (de)serialization process, both intrusive and non-intrusive
  • Properly (de)serializes slices and pointers

Known Issues/Limitations

  • Constructors are not a called on deserialization, events or similar can be used instead
  • Due to limitations in the XML module provided by Phobos the XMLArchive will only work with "char" as the template type with D2
  • Due to several bugs/limitations in the compiler/runtime even the D2 version requires you to register the type when serializing through base class references
  • No built-in support for versioning
  • Floating point numbers are not serialized as hexadecimal (D1)