Updated run time error to be more informative when polymorphic serialization fails.
working on changing CEREAL_REGISTER_SHARED_LIBRARY to less specific name and description
Added static_assert on improper use of base_class with non base class.
Removed ElideMinimal type and related traits.
Added BaseClassBase type which base_class and virtual_base_class inherit from.
Added traits to see if wrapped type is minimal, updated xml/json accordingly.
This defect was discovered in issue #153, and resulted in reading
past memory. This fix repairs the off-by-one situations. Additionally,
in usages of this function where the size is known, it saves processing
by using the std::string's length property.
Signed-off-by: Erich Keane <erich.keane@verizon.net>
tuple names are now generated at compile time. Additionally,
a breaking-change of re-ordering tuples to be from first-last
rather than last-first has been included.
User rggjan requested that tuples provide a different name for each
element in this issue: https://github.com/USCiLab/cereal/issues/140.
This fix modifies tuple.hpp to generate tuple names in the order which
they are are placed in the tuple. Note that this will appear to be a
countdown (tuple_element2, tuple_element1, tuple_element0) since tuples
are generated in reverse order.
Signed-off-by: Erich Keane <erich.keane@verizon.net>
User rggjan requested that tuples provide a different name for each
element in this issue: https://github.com/USCiLab/cereal/issues/140.
This fix modifies tuple.hpp to generate tuple names in the order which
they are are placed in the tuple. Note that this will appear to be a
countdown (tuple_element2, tuple_element1, tuple_element0) since tuples
are generated in reverse order.
Signed-off-by: Erich Keane <erich.keane@verizon.net>
This is option 1 for #137 which I'm quite happy with. Works across compilation units and
shared libs on linux, need to test on windows.
As for #113, it doesn't seem to be an issue on linux so just remains to sort that out on windows.
Removed WrapperBase and added ElideMinimal instead, which is a trait that is checked by
text archives performing minimal serialization to see if they should go ahead and skip creating various nodes
and naming things. Currently only used on base_class and virtual_base_class