diff --git a/gtsam/base/ConcurrentMap.h b/gtsam/base/ConcurrentMap.h index 8d5f56675..196636c4e 100644 --- a/gtsam/base/ConcurrentMap.h +++ b/gtsam/base/ConcurrentMap.h @@ -101,6 +101,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void save(Archive& ar, const unsigned int /*version*/) const @@ -110,6 +111,7 @@ private: std::copy(this->begin(), this->end(), map.begin()); ar & BOOST_SERIALIZATION_NVP(map); } +#endif template void load(Archive& ar, const unsigned int /*version*/) { diff --git a/gtsam/base/FastList.h b/gtsam/base/FastList.h index 29ecd7dbc..d6549ce2e 100644 --- a/gtsam/base/FastList.h +++ b/gtsam/base/FastList.h @@ -77,11 +77,13 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; diff --git a/gtsam/base/FastMap.h b/gtsam/base/FastMap.h index 1f68c8d28..4aadb6577 100644 --- a/gtsam/base/FastMap.h +++ b/gtsam/base/FastMap.h @@ -68,11 +68,13 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; } diff --git a/gtsam/base/FastSet.h b/gtsam/base/FastSet.h index 1fceebad5..b1c95ad84 100644 --- a/gtsam/base/FastSet.h +++ b/gtsam/base/FastSet.h @@ -122,11 +122,13 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; } diff --git a/gtsam/base/GenericValue.h b/gtsam/base/GenericValue.h index f83a067fb..537cf3a54 100644 --- a/gtsam/base/GenericValue.h +++ b/gtsam/base/GenericValue.h @@ -176,6 +176,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -183,6 +184,7 @@ public: boost::serialization::base_object(*this)); ar & boost::serialization::make_nvp("value", value_); } +#endif // Alignment, see https://eigen.tuxfamily.org/dox/group__TopicStructHavingEigenMembers.html diff --git a/gtsam/base/SymmetricBlockMatrix.h b/gtsam/base/SymmetricBlockMatrix.h index 302a1ec34..f245db163 100644 --- a/gtsam/base/SymmetricBlockMatrix.h +++ b/gtsam/base/SymmetricBlockMatrix.h @@ -399,6 +399,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -410,6 +411,7 @@ namespace gtsam { ar & BOOST_SERIALIZATION_NVP(variableColOffsets_); ar & BOOST_SERIALIZATION_NVP(blockStart_); } +#endif }; /// Foward declare exception class diff --git a/gtsam/base/Value.h b/gtsam/base/Value.h index f824b388e..fde769829 100644 --- a/gtsam/base/Value.h +++ b/gtsam/base/Value.h @@ -119,10 +119,12 @@ namespace gtsam { * The last two links explain why these export lines have to be in the same source module that includes * any of the archive class headers. * */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & /*ar*/, const unsigned int /*version*/) { } +#endif }; diff --git a/gtsam/base/VerticalBlockMatrix.h b/gtsam/base/VerticalBlockMatrix.h index ef6691cac..459d2902c 100644 --- a/gtsam/base/VerticalBlockMatrix.h +++ b/gtsam/base/VerticalBlockMatrix.h @@ -220,6 +220,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -229,6 +230,7 @@ namespace gtsam { ar & BOOST_SERIALIZATION_NVP(rowEnd_); ar & BOOST_SERIALIZATION_NVP(blockStart_); } +#endif }; } diff --git a/gtsam/discrete/DecisionTree-inl.h b/gtsam/discrete/DecisionTree-inl.h index da72bf71f..eb50197a6 100644 --- a/gtsam/discrete/DecisionTree-inl.h +++ b/gtsam/discrete/DecisionTree-inl.h @@ -155,6 +155,7 @@ namespace gtsam { using Base = DecisionTree::Node; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -162,6 +163,7 @@ namespace gtsam { ar& BOOST_SERIALIZATION_NVP(constant_); ar& BOOST_SERIALIZATION_NVP(nrAssignments_); } +#endif }; // Leaf /****************************************************************************/ diff --git a/gtsam/discrete/DecisionTree.h b/gtsam/discrete/DecisionTree.h index af6101296..f4b64f36f 100644 --- a/gtsam/discrete/DecisionTree.h +++ b/gtsam/discrete/DecisionTree.h @@ -118,9 +118,11 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) {} +#endif }; /** ------------------------ Node base class --------------------------- */ diff --git a/gtsam/discrete/DecisionTreeFactor.h b/gtsam/discrete/DecisionTreeFactor.h index 9150c459a..61a14e13f 100644 --- a/gtsam/discrete/DecisionTreeFactor.h +++ b/gtsam/discrete/DecisionTreeFactor.h @@ -254,6 +254,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -261,6 +262,7 @@ namespace gtsam { ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ADT); ar& BOOST_SERIALIZATION_NVP(cardinalities_); } +#endif }; // traits diff --git a/gtsam/discrete/DiscreteBayesNet.h b/gtsam/discrete/DiscreteBayesNet.h index 469bfc768..226550b13 100644 --- a/gtsam/discrete/DiscreteBayesNet.h +++ b/gtsam/discrete/DiscreteBayesNet.h @@ -151,11 +151,13 @@ class GTSAM_EXPORT DiscreteBayesNet: public BayesNet { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; // traits diff --git a/gtsam/discrete/DiscreteConditional.h b/gtsam/discrete/DiscreteConditional.h index 854f5f43d..8af7cbcf2 100644 --- a/gtsam/discrete/DiscreteConditional.h +++ b/gtsam/discrete/DiscreteConditional.h @@ -269,12 +269,14 @@ class GTSAM_EXPORT DiscreteConditional private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor); ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional); } +#endif }; // DiscreteConditional diff --git a/gtsam/discrete/DiscreteKey.h b/gtsam/discrete/DiscreteKey.h index fe348ee62..6f1768e17 100644 --- a/gtsam/discrete/DiscreteKey.h +++ b/gtsam/discrete/DiscreteKey.h @@ -80,6 +80,7 @@ namespace gtsam { bool equals(const DiscreteKeys& other, double tol = 0) const; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -87,6 +88,7 @@ namespace gtsam { "DiscreteKeys", boost::serialization::base_object>(*this)); } +#endif }; // DiscreteKeys diff --git a/gtsam/discrete/DiscreteLookupDAG.h b/gtsam/discrete/DiscreteLookupDAG.h index 3b8e6d6db..8d72d221d 100644 --- a/gtsam/discrete/DiscreteLookupDAG.h +++ b/gtsam/discrete/DiscreteLookupDAG.h @@ -127,11 +127,13 @@ class GTSAM_EXPORT DiscreteLookupDAG : public BayesNet { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; // traits diff --git a/gtsam/geometry/BearingRange.h b/gtsam/geometry/BearingRange.h index ca767c1f1..0175af5b0 100644 --- a/gtsam/geometry/BearingRange.h +++ b/gtsam/geometry/BearingRange.h @@ -154,6 +154,7 @@ private: ar& boost::serialization::make_nvp("range", range_); } +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; /// @} @@ -162,6 +163,7 @@ private: enum { NeedsToAlign = (sizeof(B) % 16) == 0 || (sizeof(R) % 16) == 0 }; +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) }; diff --git a/gtsam/geometry/Cal3.h b/gtsam/geometry/Cal3.h index a55010ce0..3c5989b9f 100644 --- a/gtsam/geometry/Cal3.h +++ b/gtsam/geometry/Cal3.h @@ -185,6 +185,7 @@ class GTSAM_EXPORT Cal3 { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -194,6 +195,7 @@ class GTSAM_EXPORT Cal3 { ar& BOOST_SERIALIZATION_NVP(u0_); ar& BOOST_SERIALIZATION_NVP(v0_); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3Bundler.h b/gtsam/geometry/Cal3Bundler.h index c12f5448f..8da57d50d 100644 --- a/gtsam/geometry/Cal3Bundler.h +++ b/gtsam/geometry/Cal3Bundler.h @@ -157,6 +157,7 @@ class GTSAM_EXPORT Cal3Bundler : public Cal3 { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -166,6 +167,7 @@ class GTSAM_EXPORT Cal3Bundler : public Cal3 { ar& BOOST_SERIALIZATION_NVP(k2_); ar& BOOST_SERIALIZATION_NVP(tol_); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3DS2.h b/gtsam/geometry/Cal3DS2.h index 7252f15dc..e989e661c 100644 --- a/gtsam/geometry/Cal3DS2.h +++ b/gtsam/geometry/Cal3DS2.h @@ -105,12 +105,14 @@ class GTSAM_EXPORT Cal3DS2 : public Cal3DS2_Base { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Cal3DS2", boost::serialization::base_object(*this)); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3DS2_Base.h b/gtsam/geometry/Cal3DS2_Base.h index 185521b77..539813cb0 100644 --- a/gtsam/geometry/Cal3DS2_Base.h +++ b/gtsam/geometry/Cal3DS2_Base.h @@ -157,6 +157,7 @@ class GTSAM_EXPORT Cal3DS2_Base : public Cal3 { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -168,6 +169,7 @@ class GTSAM_EXPORT Cal3DS2_Base : public Cal3 { ar& BOOST_SERIALIZATION_NVP(p2_); ar& BOOST_SERIALIZATION_NVP(tol_); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3Fisheye.h b/gtsam/geometry/Cal3Fisheye.h index d3faf3a92..775c6b46e 100644 --- a/gtsam/geometry/Cal3Fisheye.h +++ b/gtsam/geometry/Cal3Fisheye.h @@ -185,6 +185,7 @@ class GTSAM_EXPORT Cal3Fisheye : public Cal3 { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -195,6 +196,7 @@ class GTSAM_EXPORT Cal3Fisheye : public Cal3 { ar& BOOST_SERIALIZATION_NVP(k3_); ar& BOOST_SERIALIZATION_NVP(k4_); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3Unified.h b/gtsam/geometry/Cal3Unified.h index de292b3b7..74ad72fb2 100644 --- a/gtsam/geometry/Cal3Unified.h +++ b/gtsam/geometry/Cal3Unified.h @@ -139,6 +139,7 @@ class GTSAM_EXPORT Cal3Unified : public Cal3DS2_Base { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -146,6 +147,7 @@ class GTSAM_EXPORT Cal3Unified : public Cal3DS2_Base { "Cal3Unified", boost::serialization::base_object(*this)); ar& BOOST_SERIALIZATION_NVP(xi_); } +#endif }; template <> diff --git a/gtsam/geometry/Cal3_S2.h b/gtsam/geometry/Cal3_S2.h index ed62c5dd1..1b39e76e3 100644 --- a/gtsam/geometry/Cal3_S2.h +++ b/gtsam/geometry/Cal3_S2.h @@ -133,12 +133,14 @@ class GTSAM_EXPORT Cal3_S2 : public Cal3 { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Cal3_S2", boost::serialization::base_object(*this)); } +#endif /// @} }; diff --git a/gtsam/geometry/Cal3_S2Stereo.h b/gtsam/geometry/Cal3_S2Stereo.h index 39ca1b099..fcc6b68ee 100644 --- a/gtsam/geometry/Cal3_S2Stereo.h +++ b/gtsam/geometry/Cal3_S2Stereo.h @@ -144,6 +144,7 @@ class GTSAM_EXPORT Cal3_S2Stereo : public Cal3_S2 { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -151,6 +152,7 @@ class GTSAM_EXPORT Cal3_S2Stereo : public Cal3_S2 { "Cal3_S2", boost::serialization::base_object(*this)); ar& BOOST_SERIALIZATION_NVP(b_); } +#endif /// @} }; diff --git a/gtsam/geometry/CalibratedCamera.h b/gtsam/geometry/CalibratedCamera.h index c8e27444e..0aef92352 100644 --- a/gtsam/geometry/CalibratedCamera.h +++ b/gtsam/geometry/CalibratedCamera.h @@ -229,11 +229,13 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(pose_); } +#endif }; // end of class PinholeBase diff --git a/gtsam/geometry/CameraSet.h b/gtsam/geometry/CameraSet.h index 4521cbb82..f5b887ae9 100644 --- a/gtsam/geometry/CameraSet.h +++ b/gtsam/geometry/CameraSet.h @@ -466,11 +466,13 @@ class CameraSet : public std::vector> { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar&(*this); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/geometry/EssentialMatrix.h b/gtsam/geometry/EssentialMatrix.h index ea980d667..7b8268d4d 100644 --- a/gtsam/geometry/EssentialMatrix.h +++ b/gtsam/geometry/EssentialMatrix.h @@ -181,6 +181,7 @@ class EssentialMatrix { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -197,6 +198,7 @@ class EssentialMatrix { ar & boost::serialization::make_nvp("E32", E_(2, 1)); ar & boost::serialization::make_nvp("E33", E_(2, 2)); } +#endif /// @} diff --git a/gtsam/geometry/PinholeCamera.h b/gtsam/geometry/PinholeCamera.h index 8f299f854..a77f5f220 100644 --- a/gtsam/geometry/PinholeCamera.h +++ b/gtsam/geometry/PinholeCamera.h @@ -327,6 +327,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { @@ -335,6 +336,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(K_); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/geometry/PinholePose.h b/gtsam/geometry/PinholePose.h index 813f04aaa..490ef63a9 100644 --- a/gtsam/geometry/PinholePose.h +++ b/gtsam/geometry/PinholePose.h @@ -218,6 +218,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { @@ -225,6 +226,7 @@ private: & boost::serialization::make_nvp("PinholeBase", boost::serialization::base_object(*this)); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/geometry/PinholeSet.h b/gtsam/geometry/PinholeSet.h index 7541f886b..15d0ce473 100644 --- a/gtsam/geometry/PinholeSet.h +++ b/gtsam/geometry/PinholeSet.h @@ -65,11 +65,13 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; template diff --git a/gtsam/geometry/Pose2.h b/gtsam/geometry/Pose2.h index c106cb4d4..d92ce91d8 100644 --- a/gtsam/geometry/Pose2.h +++ b/gtsam/geometry/Pose2.h @@ -327,12 +327,14 @@ public: private: // Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION // friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(t_); ar & BOOST_SERIALIZATION_NVP(r_); } +#endif public: // Align for Point2, which is either derived from, or is typedef, of Vector2 diff --git a/gtsam/geometry/Pose3.h b/gtsam/geometry/Pose3.h index 3dd9e6b9f..42b9a8e57 100644 --- a/gtsam/geometry/Pose3.h +++ b/gtsam/geometry/Pose3.h @@ -393,12 +393,14 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(R_); ar & BOOST_SERIALIZATION_NVP(t_); } +#endif /// @} #ifdef GTSAM_USE_QUATERNIONS diff --git a/gtsam/geometry/Rot2.h b/gtsam/geometry/Rot2.h index 26e6e6b7a..91c6d5d53 100644 --- a/gtsam/geometry/Rot2.h +++ b/gtsam/geometry/Rot2.h @@ -214,12 +214,14 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(c_); ar & BOOST_SERIALIZATION_NVP(s_); } +#endif }; diff --git a/gtsam/geometry/Rot3.h b/gtsam/geometry/Rot3.h index b98c03dce..fd110fe85 100644 --- a/gtsam/geometry/Rot3.h +++ b/gtsam/geometry/Rot3.h @@ -529,6 +529,7 @@ class GTSAM_EXPORT Rot3 : public LieGroup { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -550,6 +551,7 @@ class GTSAM_EXPORT Rot3 : public LieGroup { ar& boost::serialization::make_nvp("z", quaternion_.z()); #endif } +#endif #ifdef GTSAM_USE_QUATERNIONS // only align if quaternion, Matrix3 has no alignment requirements diff --git a/gtsam/geometry/SOn.h b/gtsam/geometry/SOn.h index b8b9deb3b..069aae833 100644 --- a/gtsam/geometry/SOn.h +++ b/gtsam/geometry/SOn.h @@ -323,6 +323,7 @@ class SO : public LieGroup, internal::DimensionSO(N)> { /// @name Serialization /// @{ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION template friend void save(Archive&, SO&, const unsigned int); template @@ -331,6 +332,7 @@ class SO : public LieGroup, internal::DimensionSO(N)> { friend void serialize(Archive&, SO&, const unsigned int); friend class boost::serialization::access; friend class Rot3; // for serialize +#endif /// @} }; @@ -376,6 +378,7 @@ GTSAM_EXPORT typename SOn::VectorN2 SOn::vec(DynamicJacobian H) const; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION template void serialize( Archive& ar, SOn& Q, @@ -384,6 +387,7 @@ void serialize( Matrix& M = Q.matrix_; ar& BOOST_SERIALIZATION_NVP(M); } +#endif /* * Define the traits. internal::LieGroup provides both Lie group and Testable diff --git a/gtsam/geometry/SphericalCamera.h b/gtsam/geometry/SphericalCamera.h index 202aefa9f..76c0d86a1 100644 --- a/gtsam/geometry/SphericalCamera.h +++ b/gtsam/geometry/SphericalCamera.h @@ -53,12 +53,14 @@ class GTSAM_EXPORT EmptyCal { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "EmptyCal", boost::serialization::base_object(*this)); } +#endif }; /** diff --git a/gtsam/geometry/StereoCamera.h b/gtsam/geometry/StereoCamera.h index 6ccebd8c2..2a483ffcf 100644 --- a/gtsam/geometry/StereoCamera.h +++ b/gtsam/geometry/StereoCamera.h @@ -179,12 +179,14 @@ public: private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(leftCamPose_); ar & BOOST_SERIALIZATION_NVP(K_); } +#endif }; diff --git a/gtsam/geometry/StereoPoint2.h b/gtsam/geometry/StereoPoint2.h index bce5beb2a..ae59c2b9d 100644 --- a/gtsam/geometry/StereoPoint2.h +++ b/gtsam/geometry/StereoPoint2.h @@ -147,6 +147,7 @@ private: /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -154,6 +155,7 @@ private: ar & BOOST_SERIALIZATION_NVP(uR_); ar & BOOST_SERIALIZATION_NVP(v_); } +#endif /// @} diff --git a/gtsam/geometry/Unit3.h b/gtsam/geometry/Unit3.h index 8f629786d..db4f94085 100644 --- a/gtsam/geometry/Unit3.h +++ b/gtsam/geometry/Unit3.h @@ -207,11 +207,13 @@ private: /// @name Advanced Interface /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(p_); } +#endif /// @} diff --git a/gtsam/geometry/triangulation.h b/gtsam/geometry/triangulation.h index 160ab0480..5ba324b4f 100644 --- a/gtsam/geometry/triangulation.h +++ b/gtsam/geometry/triangulation.h @@ -612,6 +612,7 @@ struct GTSAM_EXPORT TriangulationParameters { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int version) { @@ -620,6 +621,7 @@ private: ar & BOOST_SERIALIZATION_NVP(landmarkDistanceThreshold); ar & BOOST_SERIALIZATION_NVP(dynamicOutlierRejectionThreshold); } +#endif }; /** diff --git a/gtsam/hybrid/GaussianMixture.h b/gtsam/hybrid/GaussianMixture.h index 5b4bc0f74..cd65c0829 100644 --- a/gtsam/hybrid/GaussianMixture.h +++ b/gtsam/hybrid/GaussianMixture.h @@ -256,6 +256,7 @@ class GTSAM_EXPORT GaussianMixture bool allFrontalsGiven(const VectorValues &given) const; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive &ar, const unsigned int /*version*/) { @@ -263,6 +264,7 @@ class GTSAM_EXPORT GaussianMixture ar &BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional); ar &BOOST_SERIALIZATION_NVP(conditionals_); } +#endif }; /// Return the DiscreteKey vector as a set. diff --git a/gtsam/hybrid/GaussianMixtureFactor.h b/gtsam/hybrid/GaussianMixtureFactor.h index 30899ca7b..2088a7837 100644 --- a/gtsam/hybrid/GaussianMixtureFactor.h +++ b/gtsam/hybrid/GaussianMixtureFactor.h @@ -152,6 +152,7 @@ class GTSAM_EXPORT GaussianMixtureFactor : public HybridFactor { /// @} private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /** Serialization function */ friend class boost::serialization::access; template @@ -159,6 +160,7 @@ class GTSAM_EXPORT GaussianMixtureFactor : public HybridFactor { ar &BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); ar &BOOST_SERIALIZATION_NVP(factors_); } +#endif }; // traits diff --git a/gtsam/hybrid/HybridBayesNet.h b/gtsam/hybrid/HybridBayesNet.h index ef35ae29d..1233ccec9 100644 --- a/gtsam/hybrid/HybridBayesNet.h +++ b/gtsam/hybrid/HybridBayesNet.h @@ -229,11 +229,13 @@ class GTSAM_EXPORT HybridBayesNet : public BayesNet { void updateDiscreteConditionals(const DecisionTreeFactor &prunedDecisionTree); /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE &ar, const unsigned int /*version*/) { ar &BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/hybrid/HybridBayesTree.h b/gtsam/hybrid/HybridBayesTree.h index 236ebf8b7..66211d8a0 100644 --- a/gtsam/hybrid/HybridBayesTree.h +++ b/gtsam/hybrid/HybridBayesTree.h @@ -115,11 +115,13 @@ class GTSAM_EXPORT HybridBayesTree : public BayesTree { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/hybrid/HybridConditional.h b/gtsam/hybrid/HybridConditional.h index b38942bf5..80efd89c6 100644 --- a/gtsam/hybrid/HybridConditional.h +++ b/gtsam/hybrid/HybridConditional.h @@ -205,6 +205,7 @@ class GTSAM_EXPORT HybridConditional private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { @@ -225,6 +226,7 @@ class GTSAM_EXPORT HybridConditional static_cast(NULL), static_cast(NULL)); } } +#endif }; // HybridConditional diff --git a/gtsam/hybrid/HybridFactor.h b/gtsam/hybrid/HybridFactor.h index ebd1d289a..9e243c4ec 100644 --- a/gtsam/hybrid/HybridFactor.h +++ b/gtsam/hybrid/HybridFactor.h @@ -138,6 +138,7 @@ class GTSAM_EXPORT HybridFactor : public Factor { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE &ar, const unsigned int /*version*/) { @@ -148,6 +149,7 @@ class GTSAM_EXPORT HybridFactor : public Factor { ar &BOOST_SERIALIZATION_NVP(discreteKeys_); ar &BOOST_SERIALIZATION_NVP(continuousKeys_); } +#endif }; // HybridFactor diff --git a/gtsam/inference/BayesTree.h b/gtsam/inference/BayesTree.h index d9450e107..b09e90223 100644 --- a/gtsam/inference/BayesTree.h +++ b/gtsam/inference/BayesTree.h @@ -260,12 +260,14 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(nodes_); ar & BOOST_SERIALIZATION_NVP(roots_); } +#endif /// @} diff --git a/gtsam/inference/BayesTreeCliqueBase.h b/gtsam/inference/BayesTreeCliqueBase.h index a50c4bec9..2ceb0577e 100644 --- a/gtsam/inference/BayesTreeCliqueBase.h +++ b/gtsam/inference/BayesTreeCliqueBase.h @@ -200,6 +200,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -213,6 +214,7 @@ namespace gtsam { } ar & BOOST_SERIALIZATION_NVP(children); } +#endif /// @} diff --git a/gtsam/inference/Conditional.h b/gtsam/inference/Conditional.h index ba7b6897e..2e75eceff 100644 --- a/gtsam/inference/Conditional.h +++ b/gtsam/inference/Conditional.h @@ -214,11 +214,13 @@ namespace gtsam { const FACTOR& asFactor() const { return static_cast(static_cast(*this)); } /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(nrFrontals_); } +#endif /// @} diff --git a/gtsam/inference/Factor.h b/gtsam/inference/Factor.h index 74baa4508..af1e0858a 100644 --- a/gtsam/inference/Factor.h +++ b/gtsam/inference/Factor.h @@ -195,11 +195,13 @@ namespace gtsam { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(keys_); } +#endif /// @} diff --git a/gtsam/inference/FactorGraph.h b/gtsam/inference/FactorGraph.h index 62259dd31..2e3f5567f 100644 --- a/gtsam/inference/FactorGraph.h +++ b/gtsam/inference/FactorGraph.h @@ -434,11 +434,13 @@ class FactorGraph { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& BOOST_SERIALIZATION_NVP(factors_); } +#endif /// @} }; // FactorGraph diff --git a/gtsam/inference/LabeledSymbol.h b/gtsam/inference/LabeledSymbol.h index 5aee4a0e2..2b61842ff 100644 --- a/gtsam/inference/LabeledSymbol.h +++ b/gtsam/inference/LabeledSymbol.h @@ -113,6 +113,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -120,6 +121,7 @@ private: ar & BOOST_SERIALIZATION_NVP(label_); ar & BOOST_SERIALIZATION_NVP(j_); } +#endif }; // \class LabeledSymbol /** Create a symbol key from a character, label and index, i.e. xA5. */ diff --git a/gtsam/inference/Ordering.h b/gtsam/inference/Ordering.h index 5841203fb..7797a0a8e 100644 --- a/gtsam/inference/Ordering.h +++ b/gtsam/inference/Ordering.h @@ -257,11 +257,13 @@ private: const VariableIndex& variableIndex, std::vector& cmember); /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/inference/Symbol.h b/gtsam/inference/Symbol.h index 017d5134a..3a61d9951 100644 --- a/gtsam/inference/Symbol.h +++ b/gtsam/inference/Symbol.h @@ -123,12 +123,14 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(c_); ar & BOOST_SERIALIZATION_NVP(j_); } +#endif }; /** Create a symbol key from a character and index, i.e. x5. */ diff --git a/gtsam/inference/VariableIndex.h b/gtsam/inference/VariableIndex.h index 9573f5988..bbb7e0443 100644 --- a/gtsam/inference/VariableIndex.h +++ b/gtsam/inference/VariableIndex.h @@ -191,6 +191,7 @@ protected: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -198,6 +199,7 @@ private: ar & BOOST_SERIALIZATION_NVP(nFactors_); ar & BOOST_SERIALIZATION_NVP(nEntries_); } +#endif /// @} }; diff --git a/gtsam/linear/GaussianBayesNet.h b/gtsam/linear/GaussianBayesNet.h index ee9377eea..cdf5da241 100644 --- a/gtsam/linear/GaussianBayesNet.h +++ b/gtsam/linear/GaussianBayesNet.h @@ -257,11 +257,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/linear/GaussianConditional.h b/gtsam/linear/GaussianConditional.h index 1bc70d69a..62b47214b 100644 --- a/gtsam/linear/GaussianConditional.h +++ b/gtsam/linear/GaussianConditional.h @@ -275,12 +275,14 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor); ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional); } +#endif }; // GaussianConditional /// traits diff --git a/gtsam/linear/GaussianFactor.h b/gtsam/linear/GaussianFactor.h index 4e7e92b74..a4cb00f35 100644 --- a/gtsam/linear/GaussianFactor.h +++ b/gtsam/linear/GaussianFactor.h @@ -164,11 +164,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; // GaussianFactor diff --git a/gtsam/linear/GaussianFactorGraph.h b/gtsam/linear/GaussianFactorGraph.h index f8a24245d..f822640c3 100644 --- a/gtsam/linear/GaussianFactorGraph.h +++ b/gtsam/linear/GaussianFactorGraph.h @@ -404,11 +404,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /** diff --git a/gtsam/linear/HessianFactor.h b/gtsam/linear/HessianFactor.h index 0d67030d7..a18e1b3c1 100644 --- a/gtsam/linear/HessianFactor.h +++ b/gtsam/linear/HessianFactor.h @@ -364,12 +364,14 @@ namespace gtsam { friend class NonlinearClusterTree; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(GaussianFactor); ar & BOOST_SERIALIZATION_NVP(info_); } +#endif }; /** diff --git a/gtsam/linear/JacobianFactor.h b/gtsam/linear/JacobianFactor.h index 40b109b11..0ca99a070 100644 --- a/gtsam/linear/JacobianFactor.h +++ b/gtsam/linear/JacobianFactor.h @@ -414,6 +414,7 @@ namespace gtsam { template friend class ExpressionFactor; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void save(ARCHIVE & ar, const unsigned int version) const { @@ -432,6 +433,7 @@ namespace gtsam { ar << BOOST_SERIALIZATION_NVP(model_); } } +#endif template void load(ARCHIVE & ar, const unsigned int version) { diff --git a/gtsam/linear/LossFunctions.h b/gtsam/linear/LossFunctions.h index 04bb089ae..497fab1ef 100644 --- a/gtsam/linear/LossFunctions.h +++ b/gtsam/linear/LossFunctions.h @@ -129,11 +129,13 @@ class GTSAM_EXPORT Base { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE &ar, const unsigned int /*version*/) { ar &BOOST_SERIALIZATION_NVP(reweight_); } +#endif }; /** "Null" robust loss function, equivalent to a Gaussian pdf noise model, or diff --git a/gtsam/linear/NoiseModel.h b/gtsam/linear/NoiseModel.h index 863213ff2..4d0c84941 100644 --- a/gtsam/linear/NoiseModel.h +++ b/gtsam/linear/NoiseModel.h @@ -140,11 +140,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(dim_); } +#endif }; //--------------------------------------------------------------------------------------- diff --git a/gtsam/linear/SubgraphBuilder.h b/gtsam/linear/SubgraphBuilder.h index 925fdef33..62fa76356 100644 --- a/gtsam/linear/SubgraphBuilder.h +++ b/gtsam/linear/SubgraphBuilder.h @@ -49,12 +49,14 @@ class GTSAM_EXPORT Subgraph { friend std::ostream &operator<<(std::ostream &os, const Edge &edge); private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive &ar, const unsigned int /*version*/) { ar &BOOST_SERIALIZATION_NVP(index); ar &BOOST_SERIALIZATION_NVP(weight); } +#endif }; typedef std::vector Edges; diff --git a/gtsam/linear/VectorValues.h b/gtsam/linear/VectorValues.h index 29cea3976..54afcd1e0 100644 --- a/gtsam/linear/VectorValues.h +++ b/gtsam/linear/VectorValues.h @@ -369,11 +369,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(values_); } +#endif }; // VectorValues definition /// traits diff --git a/gtsam/navigation/AHRSFactor.h b/gtsam/navigation/AHRSFactor.h index bf7ef56b0..f3262dd97 100644 --- a/gtsam/navigation/AHRSFactor.h +++ b/gtsam/navigation/AHRSFactor.h @@ -121,6 +121,7 @@ class GTSAM_EXPORT PreintegratedAhrsMeasurements : public PreintegratedRotation private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -128,6 +129,7 @@ private: ar & BOOST_SERIALIZATION_NVP(p_); ar & BOOST_SERIALIZATION_NVP(biasHat_); } +#endif }; class GTSAM_EXPORT AHRSFactor: public NoiseModelFactorN { diff --git a/gtsam/navigation/AttitudeFactor.h b/gtsam/navigation/AttitudeFactor.h index b412d4d26..1d12d8831 100644 --- a/gtsam/navigation/AttitudeFactor.h +++ b/gtsam/navigation/AttitudeFactor.h @@ -64,12 +64,14 @@ public: } /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & boost::serialization::make_nvp("nZ_", nZ_); ar & boost::serialization::make_nvp("bRef_", bRef_); } +#endif }; /** diff --git a/gtsam/navigation/BarometricFactor.h b/gtsam/navigation/BarometricFactor.h index c7cf939af..af15bccb2 100644 --- a/gtsam/navigation/BarometricFactor.h +++ b/gtsam/navigation/BarometricFactor.h @@ -98,6 +98,7 @@ class GTSAM_EXPORT BarometricFactor : public NoiseModelFactorN { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -107,6 +108,7 @@ class GTSAM_EXPORT BarometricFactor : public NoiseModelFactorN { boost::serialization::base_object(*this)); ar& BOOST_SERIALIZATION_NVP(nT_); } +#endif }; } // namespace gtsam diff --git a/gtsam/navigation/CombinedImuFactor.h b/gtsam/navigation/CombinedImuFactor.h index 407bf9ace..5908989d1 100644 --- a/gtsam/navigation/CombinedImuFactor.h +++ b/gtsam/navigation/CombinedImuFactor.h @@ -102,6 +102,7 @@ struct GTSAM_EXPORT PreintegrationCombinedParams : PreintegrationParams { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -111,6 +112,7 @@ private: ar & BOOST_SERIALIZATION_NVP(biasOmegaCovariance); ar & BOOST_SERIALIZATION_NVP(biasAccOmegaInt); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/navigation/GPSFactor.h b/gtsam/navigation/GPSFactor.h index dbc164d1a..76373a959 100644 --- a/gtsam/navigation/GPSFactor.h +++ b/gtsam/navigation/GPSFactor.h @@ -98,6 +98,7 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -107,6 +108,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(nT_); } +#endif }; /** diff --git a/gtsam/navigation/ImuBias.h b/gtsam/navigation/ImuBias.h index 9e337028a..eb5205763 100644 --- a/gtsam/navigation/ImuBias.h +++ b/gtsam/navigation/ImuBias.h @@ -141,12 +141,14 @@ private: /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(biasAcc_); ar & BOOST_SERIALIZATION_NVP(biasGyro_); } +#endif public: diff --git a/gtsam/navigation/ImuFactor.h b/gtsam/navigation/ImuFactor.h index 3134a8916..8431c31e9 100644 --- a/gtsam/navigation/ImuFactor.h +++ b/gtsam/navigation/ImuFactor.h @@ -147,6 +147,7 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -154,6 +155,7 @@ public: ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(PreintegrationType); ar & BOOST_SERIALIZATION_NVP(preintMeasCov_); } +#endif }; /** diff --git a/gtsam/navigation/MagPoseFactor.h b/gtsam/navigation/MagPoseFactor.h index 45adb2383..96ca15ba2 100644 --- a/gtsam/navigation/MagPoseFactor.h +++ b/gtsam/navigation/MagPoseFactor.h @@ -133,6 +133,7 @@ class MagPoseFactor: public NoiseModelFactorN { private: /// Serialization function. +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -144,6 +145,7 @@ class MagPoseFactor: public NoiseModelFactorN { ar & BOOST_SERIALIZATION_NVP(bias_); ar & BOOST_SERIALIZATION_NVP(body_P_sensor_); } +#endif }; // \class MagPoseFactor } /// namespace gtsam diff --git a/gtsam/navigation/ManifoldPreintegration.h b/gtsam/navigation/ManifoldPreintegration.h index 0f71ec416..7fb2b06ee 100644 --- a/gtsam/navigation/ManifoldPreintegration.h +++ b/gtsam/navigation/ManifoldPreintegration.h @@ -114,6 +114,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -126,6 +127,7 @@ private: ar & BOOST_SERIALIZATION_NVP(delVdelBiasAcc_); ar & BOOST_SERIALIZATION_NVP(delVdelBiasOmega_); } +#endif }; } /// namespace gtsam diff --git a/gtsam/navigation/NavState.h b/gtsam/navigation/NavState.h index 5e44e16c2..f778a7123 100644 --- a/gtsam/navigation/NavState.h +++ b/gtsam/navigation/NavState.h @@ -190,6 +190,7 @@ public: private: /// @{ /// serialization +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -197,6 +198,7 @@ private: ar & BOOST_SERIALIZATION_NVP(t_); ar & BOOST_SERIALIZATION_NVP(v_); } +#endif /// @} }; diff --git a/gtsam/navigation/PreintegratedRotation.h b/gtsam/navigation/PreintegratedRotation.h index 05489c5fb..84dbc4661 100644 --- a/gtsam/navigation/PreintegratedRotation.h +++ b/gtsam/navigation/PreintegratedRotation.h @@ -61,6 +61,7 @@ struct GTSAM_EXPORT PreintegratedRotationParams { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -75,6 +76,7 @@ struct GTSAM_EXPORT PreintegratedRotationParams { ar & BOOST_SERIALIZATION_NVP(*omegaCoriolis); } } +#endif #ifdef GTSAM_USE_QUATERNIONS // Align if we are using Quaternions diff --git a/gtsam/navigation/PreintegrationBase.h b/gtsam/navigation/PreintegrationBase.h index 1a5366c6c..8ca085fe7 100644 --- a/gtsam/navigation/PreintegrationBase.h +++ b/gtsam/navigation/PreintegrationBase.h @@ -174,6 +174,7 @@ class GTSAM_EXPORT PreintegrationBase { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -181,6 +182,7 @@ class GTSAM_EXPORT PreintegrationBase { ar & BOOST_SERIALIZATION_NVP(biasHat_); ar & BOOST_SERIALIZATION_NVP(deltaTij_); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/navigation/PreintegrationParams.h b/gtsam/navigation/PreintegrationParams.h index ab32343b8..3d60eaf47 100644 --- a/gtsam/navigation/PreintegrationParams.h +++ b/gtsam/navigation/PreintegrationParams.h @@ -72,6 +72,7 @@ struct GTSAM_EXPORT PreintegrationParams: PreintegratedRotationParams { protected: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -82,6 +83,7 @@ protected: ar & BOOST_SERIALIZATION_NVP(use2ndOrderCoriolis); ar & BOOST_SERIALIZATION_NVP(n_gravity); } +#endif #ifdef GTSAM_USE_QUATERNIONS // Align if we are using Quaternions diff --git a/gtsam/navigation/TangentPreintegration.h b/gtsam/navigation/TangentPreintegration.h index d03df5cb8..a756dd781 100644 --- a/gtsam/navigation/TangentPreintegration.h +++ b/gtsam/navigation/TangentPreintegration.h @@ -128,6 +128,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -137,6 +138,7 @@ private: ar & BOOST_SERIALIZATION_NVP(preintegrated_H_biasAcc_); ar & BOOST_SERIALIZATION_NVP(preintegrated_H_biasOmega_); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/nonlinear/CustomFactor.h b/gtsam/nonlinear/CustomFactor.h index 60dbcdaf2..b6837473a 100644 --- a/gtsam/nonlinear/CustomFactor.h +++ b/gtsam/nonlinear/CustomFactor.h @@ -91,12 +91,14 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE &ar, const unsigned int /*version*/) { ar & boost::serialization::make_nvp("CustomFactor", boost::serialization::base_object(*this)); } +#endif }; } diff --git a/gtsam/nonlinear/ExpressionFactor.h b/gtsam/nonlinear/ExpressionFactor.h index f859b3d92..8c4e8ce86 100644 --- a/gtsam/nonlinear/ExpressionFactor.h +++ b/gtsam/nonlinear/ExpressionFactor.h @@ -198,6 +198,7 @@ protected: } private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// Save to an archive: just saves the base class template void save(Archive& ar, const unsigned int /*version*/) const { @@ -218,6 +219,7 @@ private: BOOST_SERIALIZATION_SPLIT_MEMBER() friend class boost::serialization::access; +#endif // Alignment, see https://eigen.tuxfamily.org/dox/group__TopicStructHavingEigenMembers.html enum { NeedsToAlign = (sizeof(T) % 16) == 0 }; diff --git a/gtsam/nonlinear/FunctorizedFactor.h b/gtsam/nonlinear/FunctorizedFactor.h index de82da05f..7047a84f2 100644 --- a/gtsam/nonlinear/FunctorizedFactor.h +++ b/gtsam/nonlinear/FunctorizedFactor.h @@ -120,6 +120,7 @@ class FunctorizedFactor : public NoiseModelFactorN { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE &ar, const unsigned int /*version*/) { @@ -129,6 +130,7 @@ class FunctorizedFactor : public NoiseModelFactorN { ar &BOOST_SERIALIZATION_NVP(measured_); ar &BOOST_SERIALIZATION_NVP(func_); } +#endif }; /// traits diff --git a/gtsam/nonlinear/ISAM2.h b/gtsam/nonlinear/ISAM2.h index 8b48f2f7d..d13cfbbef 100644 --- a/gtsam/nonlinear/ISAM2.h +++ b/gtsam/nonlinear/ISAM2.h @@ -341,6 +341,7 @@ class GTSAM_EXPORT ISAM2 : public BayesTree { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -357,6 +358,7 @@ class GTSAM_EXPORT ISAM2 : public BayesTree { ar & BOOST_SERIALIZATION_NVP(fixedVariables_); ar & BOOST_SERIALIZATION_NVP(update_count_); } +#endif }; // ISAM2 diff --git a/gtsam/nonlinear/ISAM2Clique.h b/gtsam/nonlinear/ISAM2Clique.h index 0b1d567d2..915ae8ce1 100644 --- a/gtsam/nonlinear/ISAM2Clique.h +++ b/gtsam/nonlinear/ISAM2Clique.h @@ -148,6 +148,7 @@ class GTSAM_EXPORT ISAM2Clique VectorValues* delta) const; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -155,6 +156,7 @@ class GTSAM_EXPORT ISAM2Clique ar& BOOST_SERIALIZATION_NVP(cachedFactor_); ar& BOOST_SERIALIZATION_NVP(gradientContribution_); } +#endif }; // \struct ISAM2Clique /** diff --git a/gtsam/nonlinear/LinearContainerFactor.h b/gtsam/nonlinear/LinearContainerFactor.h index 0442f4780..0065368e2 100644 --- a/gtsam/nonlinear/LinearContainerFactor.h +++ b/gtsam/nonlinear/LinearContainerFactor.h @@ -164,6 +164,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -172,6 +173,7 @@ public: ar & BOOST_SERIALIZATION_NVP(factor_); ar & BOOST_SERIALIZATION_NVP(linearizationPoint_); } +#endif }; // \class LinearContainerFactor diff --git a/gtsam/nonlinear/NonlinearEquality.h b/gtsam/nonlinear/NonlinearEquality.h index 022fb4523..40d58298c 100644 --- a/gtsam/nonlinear/NonlinearEquality.h +++ b/gtsam/nonlinear/NonlinearEquality.h @@ -183,6 +183,7 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -194,6 +195,7 @@ private: ar & BOOST_SERIALIZATION_NVP(allow_error_); ar & BOOST_SERIALIZATION_NVP(error_gain_); } +#endif }; // \class NonlinearEquality diff --git a/gtsam/nonlinear/NonlinearFactor.h b/gtsam/nonlinear/NonlinearFactor.h index 73255482c..83841bdc7 100644 --- a/gtsam/nonlinear/NonlinearFactor.h +++ b/gtsam/nonlinear/NonlinearFactor.h @@ -304,6 +304,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -311,6 +312,7 @@ public: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(noiseModel_); } +#endif }; // \class NoiseModelFactor diff --git a/gtsam/nonlinear/NonlinearFactorGraph.h b/gtsam/nonlinear/NonlinearFactorGraph.h index 95b116ab6..2d533ca46 100644 --- a/gtsam/nonlinear/NonlinearFactorGraph.h +++ b/gtsam/nonlinear/NonlinearFactorGraph.h @@ -254,12 +254,14 @@ namespace gtsam { const Values& values, const Scatter& scatter, const Dampen& dampen = nullptr) const; /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & boost::serialization::make_nvp("NonlinearFactorGraph", boost::serialization::base_object(*this)); } +#endif }; /// traits diff --git a/gtsam/nonlinear/PriorFactor.h b/gtsam/nonlinear/PriorFactor.h index 808f66c5b..f5bca7e0d 100644 --- a/gtsam/nonlinear/PriorFactor.h +++ b/gtsam/nonlinear/PriorFactor.h @@ -106,6 +106,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -114,6 +115,7 @@ namespace gtsam { boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(prior_); } +#endif // Alignment, see https://eigen.tuxfamily.org/dox/group__TopicStructHavingEigenMembers.html enum { NeedsToAlign = (sizeof(T) % 16) == 0 }; diff --git a/gtsam/nonlinear/Values.h b/gtsam/nonlinear/Values.h index 7c08dc338..88dfe1b97 100644 --- a/gtsam/nonlinear/Values.h +++ b/gtsam/nonlinear/Values.h @@ -350,11 +350,13 @@ namespace gtsam { } /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_NVP(values_); } +#endif static ConstKeyValuePair make_const_deref_pair(const KeyValueMap::const_iterator::value_type& key_value) { return ConstKeyValuePair(key_value.first, *key_value.second); } diff --git a/gtsam/sam/BearingFactor.h b/gtsam/sam/BearingFactor.h index 68d6cbd48..01b2baf18 100644 --- a/gtsam/sam/BearingFactor.h +++ b/gtsam/sam/BearingFactor.h @@ -75,12 +75,14 @@ struct BearingFactor : public ExpressionFactorN { private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Base", boost::serialization::base_object(*this)); } +#endif }; // BearingFactor /// traits diff --git a/gtsam/sam/BearingRangeFactor.h b/gtsam/sam/BearingRangeFactor.h index f4fcbf692..a1e6251b5 100644 --- a/gtsam/sam/BearingRangeFactor.h +++ b/gtsam/sam/BearingRangeFactor.h @@ -93,12 +93,14 @@ class BearingRangeFactor private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Base", boost::serialization::base_object(*this)); } +#endif }; // BearingRangeFactor /// traits diff --git a/gtsam/sam/RangeFactor.h b/gtsam/sam/RangeFactor.h index fb7977d45..9c97fb384 100644 --- a/gtsam/sam/RangeFactor.h +++ b/gtsam/sam/RangeFactor.h @@ -80,12 +80,14 @@ class RangeFactor : public ExpressionFactorN { } private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Base", boost::serialization::base_object(*this)); } +#endif }; // \ RangeFactor /// traits diff --git a/gtsam/sfm/SfmData.h b/gtsam/sfm/SfmData.h index dbf0bd1e7..3aca3e3b4 100644 --- a/gtsam/sfm/SfmData.h +++ b/gtsam/sfm/SfmData.h @@ -126,12 +126,15 @@ struct GTSAM_EXPORT SfmData { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int /*version*/) { ar& BOOST_SERIALIZATION_NVP(cameras); ar& BOOST_SERIALIZATION_NVP(tracks); } +#endif + /// @} }; diff --git a/gtsam/sfm/SfmTrack.h b/gtsam/sfm/SfmTrack.h index 60699bc31..27a5164b0 100644 --- a/gtsam/sfm/SfmTrack.h +++ b/gtsam/sfm/SfmTrack.h @@ -162,6 +162,7 @@ struct GTSAM_EXPORT SfmTrack : SfmTrack2d { /// @{ /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -172,6 +173,7 @@ struct GTSAM_EXPORT SfmTrack : SfmTrack2d { ar& BOOST_SERIALIZATION_NVP(measurements); ar& BOOST_SERIALIZATION_NVP(siftIndices); } +#endif /// @} }; diff --git a/gtsam/sfm/TranslationFactor.h b/gtsam/sfm/TranslationFactor.h index abbfa7fcb..a7289f759 100644 --- a/gtsam/sfm/TranslationFactor.h +++ b/gtsam/sfm/TranslationFactor.h @@ -80,11 +80,13 @@ class TranslationFactor : public NoiseModelFactorN { } private: +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { ar& boost::serialization::make_nvp( "Base", boost::serialization::base_object(*this)); } +#endif }; // \ TranslationFactor } // namespace gtsam diff --git a/gtsam/slam/AntiFactor.h b/gtsam/slam/AntiFactor.h index f11575035..da77509ca 100644 --- a/gtsam/slam/AntiFactor.h +++ b/gtsam/slam/AntiFactor.h @@ -107,6 +107,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -114,6 +115,7 @@ namespace gtsam { boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(factor_); } +#endif }; // \class AntiFactor } /// namespace gtsam diff --git a/gtsam/slam/BetweenFactor.h b/gtsam/slam/BetweenFactor.h index 36cea67a9..b3bd80a7e 100644 --- a/gtsam/slam/BetweenFactor.h +++ b/gtsam/slam/BetweenFactor.h @@ -136,6 +136,7 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -144,6 +145,7 @@ namespace gtsam { boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(measured_); } +#endif // Alignment, see https://eigen.tuxfamily.org/dox/group__TopicStructHavingEigenMembers.html enum { NeedsToAlign = (sizeof(VALUE) % 16) == 0 }; diff --git a/gtsam/slam/BoundingConstraint.h b/gtsam/slam/BoundingConstraint.h index 14aa96dbc..aeda10c22 100644 --- a/gtsam/slam/BoundingConstraint.h +++ b/gtsam/slam/BoundingConstraint.h @@ -84,6 +84,7 @@ struct BoundingConstraint1: public NoiseModelFactorN { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -93,6 +94,7 @@ private: ar & BOOST_SERIALIZATION_NVP(threshold_); ar & BOOST_SERIALIZATION_NVP(isGreaterThan_); } +#endif }; /** diff --git a/gtsam/slam/EssentialMatrixConstraint.h b/gtsam/slam/EssentialMatrixConstraint.h index c533ea04d..6d4833178 100644 --- a/gtsam/slam/EssentialMatrixConstraint.h +++ b/gtsam/slam/EssentialMatrixConstraint.h @@ -92,6 +92,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -101,6 +102,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(measuredE_); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/slam/GeneralSFMFactor.h b/gtsam/slam/GeneralSFMFactor.h index 8046a210b..b408f9bb6 100644 --- a/gtsam/slam/GeneralSFMFactor.h +++ b/gtsam/slam/GeneralSFMFactor.h @@ -182,6 +182,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { @@ -190,6 +191,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(measured_); } +#endif }; template diff --git a/gtsam/slam/PoseRotationPrior.h b/gtsam/slam/PoseRotationPrior.h index 72c50d43f..ac21d7cf3 100644 --- a/gtsam/slam/PoseRotationPrior.h +++ b/gtsam/slam/PoseRotationPrior.h @@ -92,6 +92,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -100,6 +101,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(measured_); } +#endif }; } // \namespace gtsam diff --git a/gtsam/slam/PoseTranslationPrior.h b/gtsam/slam/PoseTranslationPrior.h index 85e7a0fa4..6e57952d0 100644 --- a/gtsam/slam/PoseTranslationPrior.h +++ b/gtsam/slam/PoseTranslationPrior.h @@ -91,6 +91,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -99,6 +100,7 @@ private: boost::serialization::base_object(*this)); ar & BOOST_SERIALIZATION_NVP(measured_); } +#endif }; diff --git a/gtsam/slam/ProjectionFactor.h b/gtsam/slam/ProjectionFactor.h index 73ed85035..2f1b59076 100644 --- a/gtsam/slam/ProjectionFactor.h +++ b/gtsam/slam/ProjectionFactor.h @@ -189,6 +189,7 @@ namespace gtsam { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -199,6 +200,7 @@ namespace gtsam { ar & BOOST_SERIALIZATION_NVP(throwCheirality_); ar & BOOST_SERIALIZATION_NVP(verboseCheirality_); } +#endif public: GTSAM_MAKE_ALIGNED_OPERATOR_NEW diff --git a/gtsam/slam/ReferenceFrameFactor.h b/gtsam/slam/ReferenceFrameFactor.h index 73952d3cc..837719cea 100644 --- a/gtsam/slam/ReferenceFrameFactor.h +++ b/gtsam/slam/ReferenceFrameFactor.h @@ -123,12 +123,14 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & boost::serialization::make_nvp("NonlinearFactor3", boost::serialization::base_object(*this)); } +#endif }; /// traits diff --git a/gtsam/slam/SmartFactorBase.h b/gtsam/slam/SmartFactorBase.h index a5fc3be1a..560bf41dd 100644 --- a/gtsam/slam/SmartFactorBase.h +++ b/gtsam/slam/SmartFactorBase.h @@ -444,6 +444,7 @@ protected: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION/// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -452,6 +453,7 @@ private: ar & BOOST_SERIALIZATION_NVP(measured_); ar & BOOST_SERIALIZATION_NVP(body_P_sensor_); } +#endif }; // end class SmartFactorBase diff --git a/gtsam/slam/SmartFactorParams.h b/gtsam/slam/SmartFactorParams.h index 4f23c085d..d8eaf238f 100644 --- a/gtsam/slam/SmartFactorParams.h +++ b/gtsam/slam/SmartFactorParams.h @@ -119,6 +119,7 @@ struct SmartProjectionParams { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int version) { @@ -129,6 +130,7 @@ private: ar & BOOST_SERIALIZATION_NVP(throwCheirality); ar & BOOST_SERIALIZATION_NVP(verboseCheirality); } +#endif }; } // \ namespace gtsam diff --git a/gtsam/slam/SmartProjectionFactor.h b/gtsam/slam/SmartProjectionFactor.h index 1434993e2..8091198a7 100644 --- a/gtsam/slam/SmartProjectionFactor.h +++ b/gtsam/slam/SmartProjectionFactor.h @@ -467,6 +467,7 @@ protected: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int version) { @@ -475,6 +476,7 @@ protected: ar & BOOST_SERIALIZATION_NVP(result_); ar & BOOST_SERIALIZATION_NVP(cameraPosesTriangulation_); } +#endif } ; diff --git a/gtsam/slam/SmartProjectionPoseFactor.h b/gtsam/slam/SmartProjectionPoseFactor.h index 6421b3013..3745b7d8e 100644 --- a/gtsam/slam/SmartProjectionPoseFactor.h +++ b/gtsam/slam/SmartProjectionPoseFactor.h @@ -149,12 +149,14 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); ar & BOOST_SERIALIZATION_NVP(K_); } +#endif }; // end of class declaration diff --git a/gtsam/slam/SmartProjectionRigFactor.h b/gtsam/slam/SmartProjectionRigFactor.h index cf564cdda..70bafba65 100644 --- a/gtsam/slam/SmartProjectionRigFactor.h +++ b/gtsam/slam/SmartProjectionRigFactor.h @@ -353,6 +353,7 @@ class SmartProjectionRigFactor : public SmartProjectionFactor { private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE& ar, const unsigned int /*version*/) { @@ -361,6 +362,7 @@ class SmartProjectionRigFactor : public SmartProjectionFactor { // ar& BOOST_SERIALIZATION_NVP(cameraRig_); // ar& BOOST_SERIALIZATION_NVP(cameraIds_); } +#endif }; // end of class declaration diff --git a/gtsam/slam/StereoFactor.h b/gtsam/slam/StereoFactor.h index 8d25d6032..f9955ff1a 100644 --- a/gtsam/slam/StereoFactor.h +++ b/gtsam/slam/StereoFactor.h @@ -171,6 +171,7 @@ public: private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { @@ -183,6 +184,7 @@ private: ar & BOOST_SERIALIZATION_NVP(throwCheirality_); ar & BOOST_SERIALIZATION_NVP(verboseCheirality_); } +#endif }; /// traits diff --git a/gtsam/slam/TriangulationFactor.h b/gtsam/slam/TriangulationFactor.h index c71c94b20..38d1abcfb 100644 --- a/gtsam/slam/TriangulationFactor.h +++ b/gtsam/slam/TriangulationFactor.h @@ -190,6 +190,7 @@ public: private: /// Serialization function +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION /// friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { @@ -199,6 +200,7 @@ private: ar & BOOST_SERIALIZATION_NVP(throwCheirality_); ar & BOOST_SERIALIZATION_NVP(verboseCheirality_); } +#endif }; } // \ namespace gtsam diff --git a/gtsam/symbolic/SymbolicBayesNet.h b/gtsam/symbolic/SymbolicBayesNet.h index 31b1bac33..a1c4c3d72 100644 --- a/gtsam/symbolic/SymbolicBayesNet.h +++ b/gtsam/symbolic/SymbolicBayesNet.h @@ -105,11 +105,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/symbolic/SymbolicBayesTree.h b/gtsam/symbolic/SymbolicBayesTree.h index 0a6b6608e..a30af3d68 100644 --- a/gtsam/symbolic/SymbolicBayesTree.h +++ b/gtsam/symbolic/SymbolicBayesTree.h @@ -64,11 +64,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits diff --git a/gtsam/symbolic/SymbolicConditional.h b/gtsam/symbolic/SymbolicConditional.h index 1411ceafe..06f6121bc 100644 --- a/gtsam/symbolic/SymbolicConditional.h +++ b/gtsam/symbolic/SymbolicConditional.h @@ -127,12 +127,14 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseFactor); ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(BaseConditional); } +#endif }; /// traits diff --git a/gtsam/symbolic/SymbolicFactor.h b/gtsam/symbolic/SymbolicFactor.h index 86ebdffbf..9ea8d4ed1 100644 --- a/gtsam/symbolic/SymbolicFactor.h +++ b/gtsam/symbolic/SymbolicFactor.h @@ -154,11 +154,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; // IndexFactor // Forward declarations diff --git a/gtsam/symbolic/SymbolicFactorGraph.h b/gtsam/symbolic/SymbolicFactorGraph.h index bb37b4436..ef719609d 100644 --- a/gtsam/symbolic/SymbolicFactorGraph.h +++ b/gtsam/symbolic/SymbolicFactorGraph.h @@ -149,11 +149,13 @@ namespace gtsam { private: /** Serialization function */ +#ifdef GTSAM_ENABLE_BOOST_SERIALIZATION friend class boost::serialization::access; template void serialize(ARCHIVE & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base); } +#endif }; /// traits