Compiles but not stable yet, no interface to use Any within cereal yet. Will be kept internal and not exposed for use
outside of whatever the load/store names will be.
Moving code around a bit, allocate is now in access.hpp which seems
to make a bit more sense. Exception is now in helpers.hpp.
It is now possible to use a cereal::allocate<T> object to directly
access member variables or functions after it has been initialized.
Accessing them before initialization will throw as will performing
a double initialization.
see #46
Simple case of making these functions for the rest of the output archive serialization functions and then adding it to
load. Progress towards issue #8.
Cleaned up the implementation a little, I'm sure it can still be optimized further. Undid some hacky things in
rapidjson that the old implementation utilized.
XML out of order seems to be working fine but the unit tests are running into a crash on the out of order test, which
doesn't show up in the sandbox version of the same thing. Need to debug this and out of order should be good to go
for XML.
Added some documentation to XML output archive describing how it works.
Added attribute size="dynamic" to types that specify a size tag for XML, making it easier for a human to figure out what
they can add or remove data from.
Documentation updates on a few other things.
Added more NVP info to types that need it
Adding ability to detect a save function (member or non-member) that is incorrectly declared as non-const. This is
needed since some nasty compilation errors crop up if you explicitly specify a serialization type and register that type
with an incorrectly constified save function.
So not done yet, but soon in: using a non const save function will trigger a static assertion.
Still need to investigate registering types with explicit disambiguation
access.hpp, there is now a struct called specialize which can be specialized to explicitly specify what type of
serialization a class will need. This is mostly useful for derived classes that switch from one method of serialization
(that is member/non-member serialize vs load/split).