Welcome to serialization

Project is inactive!

This project is not being maintained.

Overview of existing functionality

Serialization currently provides unversioned, binary output of most of D's types, including classes and structs.

It can

  • track class references and pointers by default
  • serialize classes and structs through a templated 'describe' member function
  • write derived classes from base class reference*
  • read derived classes into base class reference*
  • serialize not default constructible classes*

(* for this to work, the class needs to be registered with the archive type)

Even though it has less features than boost::serialization, to which it has similarities, it is already in a usable state.

What it does not do/is missing:

  • exception safety / multithread safety
  • out-of-class/struct serialization methods
  • static arrays need to be serialized with describe_staticarray
  • endian-awareness

Goals for the future are user-defined human readable formats (possibly by usage of a boost::spirit-like library) and versioning that makes sense.

Documentation

Is currently lacking. Check the unittests in serializer.d for a rough idea of how to use it.

Starting Points