From 47f6142c9fe0ac241404f933a5d74afa9f3e6362 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Mon, 4 May 2020 14:57:31 +0200
Subject: [PATCH] Put privileged constructor first

---
 include/core/frame/frame_base.h | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/include/core/frame/frame_base.h b/include/core/frame/frame_base.h
index 9336667ff..86815048b 100644
--- a/include/core/frame/frame_base.h
+++ b/include/core/frame/frame_base.h
@@ -48,6 +48,15 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
         TimeStamp time_stamp_;     ///< frame time stamp
         
     public:
+
+        /** \brief Constructor with time stamp and VectorComposite
+         *
+         * Constructor with time stamp
+         * \param _ts is the time stamp associated to this frame, provided in seconds
+         * \param _state VectorComposite. Each block will define a state block of the appropriate type and size.
+         **/
+        FrameBase(const FrameType & _tp, const TimeStamp& _ts, const VectorComposite & _state);
+
         /** \brief Constructor of non-key Frame with only time stamp
          *
          * Constructor with only time stamp
@@ -58,7 +67,7 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
          **/
         FrameBase(const TimeStamp& _ts, StateBlockPtr _p_ptr, StateBlockPtr _o_ptr = nullptr, StateBlockPtr _v_ptr = nullptr);
         
-        /** \brief Constructor with type, time stamp and state pointer
+        /** \brief Constructor with type, time stamp and state block pointers
          * 
          * Constructor with type, time stamp and state pointer
          * \param _tp indicates frame type. Generally either NON_KEY_FRAME or KEY_FRAME. (types defined at wolf.h)
@@ -71,8 +80,6 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
 
         FrameBase(const StateStructure& _frame_structure, const SizeEigen _dim, const FrameType & _tp, const TimeStamp& _ts, const Eigen::VectorXd& _x);
 
-        FrameBase(const FrameType & _tp, const TimeStamp& _ts, const VectorComposite & _state);
-
         virtual ~FrameBase();
         virtual void remove(bool viral_remove_empty_parent=false);
 
-- 
GitLab