diff --git a/gtsam/nonlinear/Values-inl.h b/gtsam/nonlinear/Values-inl.h index 1c96eed64..7b812551e 100644 --- a/gtsam/nonlinear/Values-inl.h +++ b/gtsam/nonlinear/Values-inl.h @@ -33,15 +33,6 @@ namespace gtsam { - /* ************************************************************************* */ - class GTSAM_EXPORT ValueCloneAllocator { - public: - static Value* allocate_clone(const Value& a) { return a.clone_(); } - static void deallocate_clone(const Value* a) { a->deallocate_(); } - private: - ValueCloneAllocator() {} - }; - /* ************************************************************************* */ template struct _ValuesKeyValuePair { diff --git a/gtsam/nonlinear/Values.h b/gtsam/nonlinear/Values.h index e4680c801..811846f79 100644 --- a/gtsam/nonlinear/Values.h +++ b/gtsam/nonlinear/Values.h @@ -52,10 +52,17 @@ namespace gtsam { // Forward declarations / utilities class VectorValues; - class ValueCloneAllocator; class ValueAutomaticCasting; template static bool _truePredicate(const T&) { return true; } + /* ************************************************************************* */ + class GTSAM_EXPORT ValueCloneAllocator { + public: + static Value* allocate_clone(const Value& a) { return a.clone_(); } + static void deallocate_clone(const Value* a) { a->deallocate_(); } + ValueCloneAllocator() {} + }; + /** * A non-templated config holding any types of Manifold-group elements. A * values structure is a map from keys to values. It is used to specify the