s11n is here to Save Our Data, man!
Project powered by:
libs11n: a serialization framework for C++
libs11n is s11n.net's flagship product, a library/framework for serializing a wide range
of C++ data types. Out of the box it supports PODs and all standard
STL containers. Adding support for your own classes is
straightforward, and can be implemented either intrusively or (in many
We currently have two branches of the s11n source tree:
Documentation can be found on the downloads page: API docs
and the library manual.
The core code is 95% the same as 1.0, but the tree has been
significantly reorganized and refactored. A number of important
improvements were made, especially in exception handling.
was obsoleted by 1.2 branch in late 2005, and is no longer maintained.
It is known to work well and be relatively bug-free.
During the development of 1.1.3, it was found that 1.0's anti-leak
support during exceptions is pretty broken in some cases, so new users
are encouraged to start with newer versions.
Clients new to s11n
are encouraged to start out with 1.2, rather than 1.0, for
The 1.2 manual contains a chapter on porting code from 1.0, should
you have code you would like to port.
- The build tree for 1.2 is much simpler to deal with. It is a single
standalone tree instead of multiple support libraries which culminate
into the final build of libs11n.
- 1.2 is more platform-portable. In particular, 1.1.2+ can be built
on recent Win32 platforms.
- 1.2's s11nlite is extendable from the client side, whereas 1.0's
- New releases to the 1.0 tree will only be made only for significant
bugfixes which do not require API changes. There are no plans for
significant maintenance on the 1.0 tree.