From 026cee89455ec9212417cb1b4b72b6d1fb80d8fc Mon Sep 17 00:00:00 2001
From: "Christian R. G. Dreher" <c.dreher@kit.edu>
Date: Tue, 31 Aug 2021 13:33:13 +0200
Subject: [PATCH] refactor: Virtual dtor seems to be required to be public.
 (shared_ptr delete).

---
 .../core/navigator/data/NavigatorFactory.h    | 21 +++++++++----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/source/RobotAPI/libraries/aron/core/navigator/data/NavigatorFactory.h b/source/RobotAPI/libraries/aron/core/navigator/data/NavigatorFactory.h
index 03a616c64..1838e7ac5 100644
--- a/source/RobotAPI/libraries/aron/core/navigator/data/NavigatorFactory.h
+++ b/source/RobotAPI/libraries/aron/core/navigator/data/NavigatorFactory.h
@@ -31,8 +31,8 @@
 #include <RobotAPI/libraries/aron/core/navigator/NavigatorFactory.h>
 
 // ArmarX
-#include <RobotAPI/libraries/aron/core/navigator/data/Navigator.h>
 #include <RobotAPI/libraries/aron/core/Descriptor.h>
+#include <RobotAPI/libraries/aron/core/navigator/data/Navigator.h>
 
 namespace armarx::aron::datanavigator
 {
@@ -40,27 +40,26 @@ namespace armarx::aron::datanavigator
     typedef std::shared_ptr<NavigatorFactory> NavigatorFactoryPtr;
 
     class NavigatorFactory :
-        virtual public armarx::aron::NavigatorFactory<data::AronDataPtr, datanavigator::NavigatorPtr, data::Descriptor>
+        virtual public armarx::aron::
+            NavigatorFactory<data::AronDataPtr, datanavigator::NavigatorPtr, data::Descriptor>
     {
     public:
         NavigatorFactory() = default;
+        virtual ~NavigatorFactory() = default;
         virtual NavigatorPtr create(const data::AronDataPtr&, const Path&) const override;
         virtual NavigatorPtr createSpecific(const data::AronDataPtr&, const Path&) const override;
-    protected:
-        virtual ~NavigatorFactory() = default;
     };
 
     // Factories
-#define RUN_ARON_MACRO(upperType, lowerType, capsType) \
-    class upperType##NavigatorFactory : \
-        virtual public NavigatorFactory \
-    { \
-    public: \
-        upperType##NavigatorFactory() = default; \
+#define RUN_ARON_MACRO(upperType, lowerType, capsType)                                             \
+    class upperType##NavigatorFactory : virtual public NavigatorFactory                            \
+    {                                                                                              \
+    public:                                                                                        \
+        upperType##NavigatorFactory() = default;                                                   \
         virtual NavigatorPtr createSpecific(const data::AronDataPtr&, const Path&) const override; \
     };
 
     HANDLE_ALL_ARON_DATA
 #undef RUN_ARON_MACRO
 
-}
+} // namespace armarx::aron::datanavigator
-- 
GitLab