From 05868fb904c0d810aafa15af66ac671c8a820651 Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Tue, 3 Aug 2021 18:03:40 +0200
Subject: [PATCH] Make constructors explicit

---
 source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h | 6 +++---
 source/RobotAPI/libraries/armem/core/base/EntityBase.h      | 4 ++--
 .../RobotAPI/libraries/armem/core/base/EntityInstanceBase.h | 4 ++--
 .../RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h | 4 ++--
 source/RobotAPI/libraries/armem/core/base/MemoryBase.h      | 4 ++--
 .../libraries/armem/core/base/ProviderSegmentBase.h         | 6 +++---
 .../RobotAPI/libraries/armem/core/base/detail/AronTyped.h   | 2 +-
 .../libraries/armem/core/base/detail/MemoryContainerBase.h  | 4 ++--
 .../RobotAPI/libraries/armem/core/base/detail/MemoryItem.h  | 2 +-
 9 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h
index 5e22ba703..cd8beedca 100644
--- a/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h
@@ -55,15 +55,15 @@ namespace armarx::armem::base
         CoreSegmentBase()
         {
         }
-        CoreSegmentBase(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit CoreSegmentBase(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             CoreSegmentBase(MemoryID().withCoreSegmentName(name), aronType)
         {
         }
-        CoreSegmentBase(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit CoreSegmentBase(const std::string& name, const MemoryID& parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             CoreSegmentBase(parentID.withProviderSegmentName(name), aronType)
         {
         }
-        CoreSegmentBase(const MemoryID& id, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit CoreSegmentBase(const MemoryID& id, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             Base(id),
             AronTyped(aronType)
         {
diff --git a/source/RobotAPI/libraries/armem/core/base/EntityBase.h b/source/RobotAPI/libraries/armem/core/base/EntityBase.h
index 0775a71f9..f8c19146c 100644
--- a/source/RobotAPI/libraries/armem/core/base/EntityBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/EntityBase.h
@@ -66,11 +66,11 @@ namespace armarx::armem::base
         EntityBase()
         {
         }
-        EntityBase(const std::string& name, const MemoryID& parentID = {}) :
+        explicit EntityBase(const std::string& name, const MemoryID& parentID = {}) :
             EntityBase(parentID.withEntityName(name))
         {
         }
-        EntityBase(const MemoryID& id) :
+        explicit EntityBase(const MemoryID& id) :
             Base(id)
         {
         }
diff --git a/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h b/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h
index 8dd474c66..18f3319d1 100644
--- a/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/EntityInstanceBase.h
@@ -27,11 +27,11 @@ namespace armarx::armem::base
         EntityInstanceBase()
         {
         }
-        EntityInstanceBase(int index, const MemoryID& parentID = {}) :
+        explicit EntityInstanceBase(int index, const MemoryID& parentID = {}) :
             EntityInstanceBase(parentID.withInstanceIndex(index))
         {
         }
-        EntityInstanceBase(const MemoryID& id) :
+        explicit EntityInstanceBase(const MemoryID& id) :
             Base(id)
         {
         }
diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h
index cf68286be..70cc7c505 100644
--- a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h
@@ -34,11 +34,11 @@ namespace armarx::armem::base
         EntitySnapshotBase()
         {
         }
-        EntitySnapshotBase(Time time, const MemoryID& parentID = {}) :
+        explicit EntitySnapshotBase(Time time, const MemoryID& parentID = {}) :
             EntitySnapshotBase(parentID.withTimestamp(time))
         {
         }
-        EntitySnapshotBase(const MemoryID& id) :
+        explicit EntitySnapshotBase(const MemoryID& id) :
             Base(id)
         {
         }
diff --git a/source/RobotAPI/libraries/armem/core/base/MemoryBase.h b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h
index 1bc42b0cc..47c7dfb83 100644
--- a/source/RobotAPI/libraries/armem/core/base/MemoryBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h
@@ -57,11 +57,11 @@ namespace armarx::armem::base
         MemoryBase()
         {
         }
-        MemoryBase(const std::string& name) :
+        explicit MemoryBase(const std::string& name) :
             MemoryBase(MemoryID().withMemoryName(name))
         {
         }
-        MemoryBase(const MemoryID& id) :
+        explicit MemoryBase(const MemoryID& id) :
             Base(id)
         {
         }
diff --git a/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h
index 57ff32102..8c335016f 100644
--- a/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h
@@ -53,15 +53,15 @@ namespace armarx::armem::base
         {
         }
 
-        ProviderSegmentBase(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit ProviderSegmentBase(const std::string& name, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             ProviderSegmentBase(MemoryID().withProviderSegmentName(name), aronType)
         {
         }
-        ProviderSegmentBase(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit ProviderSegmentBase(const std::string& name, const MemoryID parentID, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             ProviderSegmentBase(parentID.withProviderSegmentName(name), aronType)
         {
         }
-        ProviderSegmentBase(const MemoryID id, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
+        explicit ProviderSegmentBase(const MemoryID id, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr) :
             Base(id),
             AronTyped(aronType)
         {
diff --git a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h
index fb0ad088f..37c0e13aa 100644
--- a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h
+++ b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h
@@ -13,7 +13,7 @@ namespace armarx::armem::base::detail
     {
     public:
 
-        AronTyped(aron::typenavigator::ObjectNavigatorPtr aronType = nullptr);
+        explicit AronTyped(aron::typenavigator::ObjectNavigatorPtr aronType = nullptr);
 
 
         bool hasAronType() const;
diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h
index 518e3f877..160826950 100644
--- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h
@@ -18,16 +18,16 @@ namespace armarx::armem::base::detail
         using Base = MemoryItem;
 
     public:
+
         using DerivedT = _DerivedT;
         using ContainerT = _ContainerT;
 
 
     public:
 
-
         MemoryContainerBase()
         {}
-        MemoryContainerBase(const MemoryID& id) :
+        explicit MemoryContainerBase(const MemoryID& id) :
             MemoryItem(id)
         {
         }
diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h b/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h
index 45226e632..c70c68ada 100644
--- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h
+++ b/source/RobotAPI/libraries/armem/core/base/detail/MemoryItem.h
@@ -16,7 +16,7 @@ namespace armarx::armem::base::detail
     public:
 
         MemoryItem();
-        MemoryItem(const MemoryID& id);
+        explicit MemoryItem(const MemoryID& id);
 
         MemoryItem(const MemoryItem& other) = default;
         MemoryItem(MemoryItem&& other) = default;
-- 
GitLab