From c7aa5480d821f37a2ef9cc7c8ad253a70dcb71cf Mon Sep 17 00:00:00 2001
From: Fabian Paus <fabian.paus@kit.edu>
Date: Thu, 21 May 2020 10:07:41 +0200
Subject: [PATCH] Use std instead of boost

---
 source/RobotAPI/components/units/SpeechObserver.cpp    | 10 +++++-----
 source/RobotAPI/components/units/SpeechObserver.h      |  6 ++++--
 .../components/units/TCPControlUnitObserver.cpp        |  4 ++--
 .../RobotAPI/components/units/TCPControlUnitObserver.h |  4 +++-
 .../OrientedTactileSensorUnit.cpp                      |  7 +++----
 .../QWidgets/NJointControllerClassesWidget.cpp         |  2 +-
 6 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/source/RobotAPI/components/units/SpeechObserver.cpp b/source/RobotAPI/components/units/SpeechObserver.cpp
index bdc7f41b9..29c03c5ee 100644
--- a/source/RobotAPI/components/units/SpeechObserver.cpp
+++ b/source/RobotAPI/components/units/SpeechObserver.cpp
@@ -74,7 +74,7 @@ std::string SpeechObserver::SpeechStateToString(TextToSpeechStateType state)
 
 void SpeechObserver::reportState(TextToSpeechStateType state, const Ice::Current&)
 {
-    ScopedLock lock(dataMutex);
+    std::unique_lock lock(dataMutex);
     reportStateCounter++;
     setDataField("TextToSpeech", "State", Variant(SpeechStateToString(state)));
     setDataField("TextToSpeech", "StateChangeCounter", Variant(reportStateCounter));
@@ -83,7 +83,7 @@ void SpeechObserver::reportState(TextToSpeechStateType state, const Ice::Current
 
 void SpeechObserver::reportText(const std::string& text, const Ice::Current& c)
 {
-    ScopedLock lock(dataMutex);
+    std::unique_lock lock(dataMutex);
     reportTextCounter++;
     setDataField("TextToSpeech", "Text", Variant(text));
     setDataField("TextToSpeech", "TextChangeCounter", Variant(reportTextCounter));
@@ -92,7 +92,7 @@ void SpeechObserver::reportText(const std::string& text, const Ice::Current& c)
 
 void SpeechObserver::reportTextWithParams(const std::string& text, const Ice::StringSeq& params, const Ice::Current&)
 {
-    ScopedLock lock(dataMutex);
+    std::unique_lock lock(dataMutex);
     ARMARX_WARNING << "reportTextWithParams is not implemented";
 }
 
@@ -105,7 +105,7 @@ SpeechListenerImpl::SpeechListenerImpl(SpeechObserver* obs) :
 
 void armarx::SpeechListenerImpl::reportText(const std::string& text, const Ice::Current&)
 {
-    ScopedLock lock(dataMutex);
+    std::unique_lock lock(dataMutex);
     JSONObject json;
     json.fromString(text);
     obs->setDataField("SpeechToText", "RecognizedText", Variant(json.getString("text")));
@@ -113,6 +113,6 @@ void armarx::SpeechListenerImpl::reportText(const std::string& text, const Ice::
 
 void armarx::SpeechListenerImpl::reportTextWithParams(const std::string&, const Ice::StringSeq&, const Ice::Current&)
 {
-    ScopedLock lock(dataMutex);
+    std::unique_lock lock(dataMutex);
     ARMARX_WARNING << "reportTextWithParams is not implemented";
 }
diff --git a/source/RobotAPI/components/units/SpeechObserver.h b/source/RobotAPI/components/units/SpeechObserver.h
index 43e3bbc6f..2cf428ace 100644
--- a/source/RobotAPI/components/units/SpeechObserver.h
+++ b/source/RobotAPI/components/units/SpeechObserver.h
@@ -26,6 +26,8 @@
 #include <ArmarXCore/observers/Observer.h>
 #include <RobotAPI/interface/observers/SpeechObserverInterface.h>
 
+#include <mutex>
+
 namespace armarx
 {
     class SpeechObserverPropertyDefinitions:
@@ -46,7 +48,7 @@ namespace armarx
         SpeechListenerImpl(SpeechObserver* obs);
     protected:
         SpeechObserver* obs;
-        Mutex dataMutex;
+        std::mutex dataMutex;
         // TextListenerInterface interface
     public:
         void reportText(const std::string&, const Ice::Current&) override;
@@ -78,7 +80,7 @@ namespace armarx
 
         static std::string SpeechStateToString(TextToSpeechStateType state);
     private:
-        Mutex dataMutex;
+        std::mutex dataMutex;
         int reportTextCounter = 0;
         int reportStateCounter = 0;
     };
diff --git a/source/RobotAPI/components/units/TCPControlUnitObserver.cpp b/source/RobotAPI/components/units/TCPControlUnitObserver.cpp
index 2c34c8158..8fda50da0 100644
--- a/source/RobotAPI/components/units/TCPControlUnitObserver.cpp
+++ b/source/RobotAPI/components/units/TCPControlUnitObserver.cpp
@@ -74,7 +74,7 @@ namespace armarx
 
     void TCPControlUnitObserver::reportTCPPose(const FramedPoseBaseMap& poseMap, const Ice::Current&)
     {
-        ScopedLock lock(dataMutex);
+        std::unique_lock lock(dataMutex);
         //        ARMARX_INFO << deactivateSpam() << "new tcp poses reported";
         FramedPoseBaseMap::const_iterator it = poseMap.begin();
 
@@ -126,7 +126,7 @@ namespace armarx
 
     void TCPControlUnitObserver::reportTCPVelocities(const FramedDirectionMap& tcpTranslationVelocities, const FramedDirectionMap& tcpOrientationVelocities, const Ice::Current&)
     {
-        ScopedLock lock(dataMutex);
+        std::unique_lock lock(dataMutex);
         FramedDirectionMap::const_iterator it = tcpTranslationVelocities.begin();
 
         for (; it != tcpTranslationVelocities.end(); it++)
diff --git a/source/RobotAPI/components/units/TCPControlUnitObserver.h b/source/RobotAPI/components/units/TCPControlUnitObserver.h
index 88cdf43c3..92859f6e5 100644
--- a/source/RobotAPI/components/units/TCPControlUnitObserver.h
+++ b/source/RobotAPI/components/units/TCPControlUnitObserver.h
@@ -24,6 +24,8 @@
 #include <ArmarXCore/observers/Observer.h>
 #include <RobotAPI/interface/units/TCPControlUnit.h>
 
+#include <mutex>
+
 namespace armarx
 {
     /**
@@ -76,7 +78,7 @@ namespace armarx
         void reportTCPPose(const FramedPoseBaseMap& poseMap, const Ice::Current& c = Ice::emptyCurrent) override;
         void reportTCPVelocities(const FramedDirectionMap& tcpTranslationVelocities, const FramedDirectionMap& tcpOrientationVelocities, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        Mutex dataMutex;
+        std::mutex dataMutex;
     };
 
 }
diff --git a/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.cpp b/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.cpp
index 0856bed5a..61a75d997 100644
--- a/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.cpp
+++ b/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.cpp
@@ -5,6 +5,7 @@
 #include <fcntl.h>
 #include <math.h>
 #include <ArmarXCore/core/application/Application.h>
+#include <ArmarXCore/core/util/StringHelpers.h>
 #include <ArmarXCore/observers/variant/TimestampVariant.h>
 #include <RobotAPI/libraries/core/Pose.h>
 
@@ -316,8 +317,7 @@ void OrientedTactileSensorUnit::run()
 OrientedTactileSensorUnit::SensorData OrientedTactileSensorUnit::getValues(std::string line)
 {
     SensorData data;
-    std::vector<std::string> splitValues;
-    boost::split(splitValues, line, boost::is_any_of(" "));
+    std::vector<std::string> splitValues = Split(line, " ");
     data.id = stoi(splitValues.at(0));
     data.pressure = std::stof(splitValues.at(1));
     data.qw = std::stof(splitValues.at(2));
@@ -358,8 +358,7 @@ bool OrientedTactileSensorUnit::loadCalibration()
 
 bool OrientedTactileSensorUnit::getCalibrationValues(std::string line)
 {
-    std::vector<std::string> splitValues;
-    boost::split(splitValues, line, boost::is_any_of(" "));
+    std::vector<std::string> splitValues = Split(line, " ");
     calibration.accel_offset_x = stoi(splitValues.at(0));
     calibration.accel_offset_y = stoi(splitValues.at(1));
     calibration.accel_offset_z = stoi(splitValues.at(2));
diff --git a/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/NJointControllerClassesWidget.cpp b/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/NJointControllerClassesWidget.cpp
index 1c1c83237..7df85b914 100644
--- a/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/NJointControllerClassesWidget.cpp
+++ b/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/NJointControllerClassesWidget.cpp
@@ -48,7 +48,7 @@ namespace armarx
             path p = path {homeDir} / ".cmake" / "packages";
             if (is_directory(p))
             {
-                for (const path& entry : boost::make_iterator_range(directory_iterator(p), {}))
+                for (const path& entry : directory_iterator(p))
                 {
                     const std::string pkg = entry.filename().string();
                     if (CMakePackageFinder {pkg, "", true} .packageFound())
-- 
GitLab