More progress towards issue #8

Remaining things to do: Modify cereal.hpp to properly choose between
versioned and non-versioned functions and place entries in the set of
versioned types as appropriate.
This commit is contained in:
Shane Grant
2013-12-02 22:52:31 -08:00
parent 646d35222a
commit 2c15ff7103
+16
View File
@@ -328,6 +328,22 @@ namespace cereal
has_member_versioned_serialize<T, InputArchive>::value ^
has_non_member_versioned_serialize<T, InputArchive>::value> {};
// ######################################################################
template <class T, class OutputArchive>
struct is_output_versioned : std::integral_constant<bool,
has_member_versioned_save<T, OutputArchive>::value ||
has_non_member_versioned_save<T, OutputArchive>::value ||
has_member_versioned_serialize<T, OutputArchive>::value ||
has_non_member_versioned_serialize<T, OutputArchive>::value> {};
// ######################################################################
template <class T, class InputArchive>
struct is_input_versioned : std::integral_constant<bool,
has_member_versioned_load<T, InputArchive>::value ||
has_non_member_versioned_load<T, InputArchive>::value ||
has_member_versioned_serialize<T, InputArchive>::value ||
has_non_member_versioned_serialize<T, InputArchive>::value> {};
// ######################################################################
namespace detail
{