From 3e1852d239b12e5572169865b0f571d4f73c6904 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Mon, 12 Aug 2013 18:21:34 +0000 Subject: [PATCH] Fixed symbolic serialization --- gtsam/symbolic/SymbolicBayesNet.h | 10 +++++++++- gtsam/symbolic/SymbolicBayesTree.h | 8 ++++++++ gtsam/symbolic/SymbolicConditional.h | 3 ++- gtsam/symbolic/SymbolicFactorGraph.h | 8 ++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/gtsam/symbolic/SymbolicBayesNet.h b/gtsam/symbolic/SymbolicBayesNet.h index 07dedf919..2e59a98a4 100644 --- a/gtsam/symbolic/SymbolicBayesNet.h +++ b/gtsam/symbolic/SymbolicBayesNet.h @@ -71,6 +71,14 @@ namespace gtsam { void saveGraph(const std::string &s, const KeyFormatter& keyFormatter = DefaultKeyFormatter) const; /// @} - }; + + private: + /** Serialization function */ + friend class boost::serialization::access; + template + void serialize(ARCHIVE & ar, const unsigned int version) { + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); + } +}; } // namespace gtsam diff --git a/gtsam/symbolic/SymbolicBayesTree.h b/gtsam/symbolic/SymbolicBayesTree.h index 858bc629f..526120a30 100644 --- a/gtsam/symbolic/SymbolicBayesTree.h +++ b/gtsam/symbolic/SymbolicBayesTree.h @@ -60,6 +60,14 @@ namespace gtsam { /** check equality */ bool equals(const This& other, double tol = 1e-9) const; + + private: + /** Serialization function */ + friend class boost::serialization::access; + template + void serialize(ARCHIVE & ar, const unsigned int version) { + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); + } }; } diff --git a/gtsam/symbolic/SymbolicConditional.h b/gtsam/symbolic/SymbolicConditional.h index 2de00f5c3..76c7583a7 100644 --- a/gtsam/symbolic/SymbolicConditional.h +++ b/gtsam/symbolic/SymbolicConditional.h @@ -98,7 +98,8 @@ namespace gtsam { friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version) { - ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor); + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional); } }; diff --git a/gtsam/symbolic/SymbolicFactorGraph.h b/gtsam/symbolic/SymbolicFactorGraph.h index b37fc7db1..37aae2400 100644 --- a/gtsam/symbolic/SymbolicFactorGraph.h +++ b/gtsam/symbolic/SymbolicFactorGraph.h @@ -106,6 +106,14 @@ namespace gtsam { void push_factor(Key key1, Key key2, Key key3, Key key4); /// @} + + private: + /** Serialization function */ + friend class boost::serialization::access; + template + void serialize(ARCHIVE & ar, const unsigned int version) { + ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); + } }; } // namespace gtsam