6 #ifndef TURI_SERIALIZATION_CONDITIONAL_SERIALIZE_HPP 7 #define TURI_SERIALIZATION_CONDITIONAL_SERIALIZE_HPP 8 #include <core/storage/serialization/oarchive.hpp> 9 #include <core/storage/serialization/iarchive.hpp> 13 struct conditional_serialize {
17 conditional_serialize(): hasval(false) { }
18 conditional_serialize(T& val): hasval(true), val(val) { }
20 conditional_serialize(
const conditional_serialize& cs): hasval(cs.hasval), val(cs.val) { }
21 conditional_serialize& operator=(
const conditional_serialize& cs) {
26 void save(oarchive& oarc)
const {
28 if (hasval) oarc << val;
31 void load(iarchive& iarc) {
33 if (hasval) iarc >> val;