Table of Contents
saving is optimized for space: the library doesn't create multiple tables for C++ types that have the same 'SQL signature' - instead it re-uses the same table. For example, a C++ object which has members of type int and float will be written to the same table as a C++ object which has members of type short and double. If you write 1000 instances of such objects, then the table will contain 1000 rows. Doing this optimizes the space used in the database.
1-pass saving and loading.
does not require the use of any special macros.
does not require the client to provide names for each type nor any information about class inheritences nor to provide a type-id-to-type mapping - the library will generate appropriate names and mappings by itself.
does not require RTTI unless polymorphic pointer support is needed; if such support is not needed, the library can be built with RTTI off/disabled.
syntactically similar to Boost::serialization to allow easier code porting
comprehensive test suite that both ensures correctness and demonstrates how to serialize different data types.