diff --git a/gtsam/symbolic/SymbolicConditional.h b/gtsam/symbolic/SymbolicConditional.h index 410784684..2de00f5c3 100644 --- a/gtsam/symbolic/SymbolicConditional.h +++ b/gtsam/symbolic/SymbolicConditional.h @@ -78,6 +78,9 @@ namespace gtsam { virtual ~SymbolicConditional() {} + /// Copy this object as its actual derived type. + SymbolicFactor::shared_ptr clone() const { return boost::make_shared(*this); } + /// @} /// @name Testable diff --git a/gtsam/symbolic/SymbolicFactor.h b/gtsam/symbolic/SymbolicFactor.h index 36a96f9c0..a9551d5f9 100644 --- a/gtsam/symbolic/SymbolicFactor.h +++ b/gtsam/symbolic/SymbolicFactor.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -76,6 +77,9 @@ namespace gtsam { virtual ~SymbolicFactor() {} + /// Copy this object as its actual derived type. + SymbolicFactor::shared_ptr clone() const { return boost::make_shared(*this); } + /// @} /// @name Testable