diff --git a/source/RobotAPI/components/ArViz/Client/elements/Mesh.h b/source/RobotAPI/components/ArViz/Client/elements/Mesh.h
index a75475aee537d035edc6f34dd0ea3dbe0370a01e..b2530de115a276e2080ac05ab98c587a3cab4855 100644
--- a/source/RobotAPI/components/ArViz/Client/elements/Mesh.h
+++ b/source/RobotAPI/components/ArViz/Client/elements/Mesh.h
@@ -1,17 +1,15 @@
 #pragma once
 
-#include <functional>
-#include <numeric>  // for std::accumulate
-#include <vector>
+#include "ElementOps.h"
 
-#include <Eigen/Core>
+#include <RobotAPI/interface/ArViz/Elements.h>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
-#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
+#include <Eigen/Core>
 
-#include <RobotAPI/interface/ArViz/Elements.h>
+#include <functional>
+#include <numeric>  // for std::accumulate
+#include <vector>
 
-#include "ElementOps.h"
 
 namespace CGAL
 {
diff --git a/source/RobotAPI/components/DebugDrawer/DebugDrawerHelper.cpp b/source/RobotAPI/components/DebugDrawer/DebugDrawerHelper.cpp
index 2edd13823da1470efe6e9db79d5e252589e38532..e65fa6a4f4d0242b686656493ef93dba95cc5b36 100644
--- a/source/RobotAPI/components/DebugDrawer/DebugDrawerHelper.cpp
+++ b/source/RobotAPI/components/DebugDrawer/DebugDrawerHelper.cpp
@@ -25,7 +25,6 @@
 
 #include <VirtualRobot/math/Helpers.h>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
@@ -188,16 +187,18 @@ namespace armarx::detail::DebugDrawerHelper
     void FrameView::drawPoses(const std::string& prefix, const std::vector<Eigen::Matrix4f>& poses)
     {
         ARMARX_TRACE;
-        for (const auto& [idx, pose] : MakeIndexedContainer(poses))
+        for (std::size_t idx = 0; idx < poses.size(); ++idx)
         {
+            Eigen::Matrix4f const& pose = poses[idx];
             drawPose(prefix + std::to_string(idx), pose);
         }
     }
     void FrameView::drawPoses(const std::string& prefix, const std::vector<Eigen::Matrix4f>& poses, float scale)
     {
         ARMARX_TRACE;
-        for (const auto& [idx, pose] : MakeIndexedContainer(poses))
+        for (std::size_t idx = 0; idx < poses.size(); ++idx)
         {
+            Eigen::Matrix4f const& pose = poses[idx];
             drawPose(prefix + std::to_string(idx), pose, scale);
         }
     }
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianNaturalPositionController.cpp b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianNaturalPositionController.cpp
index 3cbe59bdfd36963431399159f48886f6ed24942a..ff1afaf689c23ebd13e118965ff0848ebf1300c7 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianNaturalPositionController.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianNaturalPositionController.cpp
@@ -1,4 +1,3 @@
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
 
 #include <RobotAPI/components/units/RobotUnit/ControlTargets/ControlTarget1DoFActuator.h>
@@ -356,8 +355,9 @@ namespace armarx
 
             //write targets
             ARMARX_CHECK_EQUAL(static_cast<std::size_t>(goal.size()), _rtVelTargets.size());
-            for (const auto& [idx, ptr] : MakeIndexedContainer(_rtVelTargets))
+            for (std::size_t idx = 0; idx < _rtVelTargets.size(); ++idx)
             {
+                float* ptr = _rtVelTargets[idx];
                 *ptr = goal(idx);
             }
         }
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianWaypointController.cpp b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianWaypointController.cpp
index 0ae54afc683c28b67a68856f86cdc8a2a3eb9e91..2b53ca18ef577c4ea609134e9d30351ca85100bc 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianWaypointController.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianWaypointController.cpp
@@ -1,4 +1,3 @@
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
 
 #include <RobotAPI/components/units/RobotUnit/ControlTargets/ControlTarget1DoFActuator.h>
@@ -150,8 +149,9 @@ namespace armarx
         {
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-            for (const auto& [idx, ptr] : MakeIndexedContainer(_rtVelSensors))
+            for (std::size_t idx = 0; idx < _rtVelSensors.size(); ++idx)
             {
+                const float* ptr = _rtVelSensors[idx];
                 _rtJointVelocityFeedbackBuffer(idx) = *ptr;
             }
             _rtWpController->setCurrentJointVelocity(_rtJointVelocityFeedbackBuffer);
@@ -272,8 +272,9 @@ namespace armarx
             const Eigen::VectorXf& goal = _rtWpController->calculate(timeSinceLastIteration.toSecondsDouble());
             //write targets
             ARMARX_CHECK_EQUAL(static_cast<std::size_t>(goal.size()), _rtVelTargets.size());
-            for (const auto& [idx, ptr] : MakeIndexedContainer(_rtVelTargets))
+            for (std::size_t idx = 0; idx < _rtVelTargets.size(); ++idx)
             {
+                float* ptr = _rtVelTargets[idx];
                 *ptr = goal(idx);
             }
         }
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
index 5cf5fed082abdcb79f4f1de97ec9982c90f10d92..c1b9e88ca02c778cb61328ead80e9922e4161cf5 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
@@ -27,7 +27,6 @@
 
 #include <ArmarXCore/core/ArmarXManager.h>
 #include <ArmarXCore/core/util/FileSystemPathBuilder.h>
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
 #include <ArmarXCore/util/CPPUtility/trace.h>
 
 #include "../util/ControlThreadOutputBuffer.h"
@@ -893,8 +892,10 @@ Logging::_postFinishDeviceInitialization()
             ValueMetaData data;
             const auto names = val->getDataFieldNames();
             data.fields.resize(names.size());
-            for (const auto& [fieldIdx, fieldName] : MakeIndexedContainer(names))
+
+            for (std::size_t fieldIdx = 0; fieldIdx < names.size(); ++fieldIdx)
             {
+                std::string const& fieldName = names[fieldIdx];
                 data.fields.at(fieldIdx).name = namePre + '.' + fieldName;
                 data.fields.at(fieldIdx).type = &(val->getDataFieldType(fieldIdx));
             }
diff --git a/source/RobotAPI/gui-plugins/RobotUnitPlugin/RobotUnitPlugin/RobotUnitPluginWidgetController.cpp b/source/RobotAPI/gui-plugins/RobotUnitPlugin/RobotUnitPlugin/RobotUnitPluginWidgetController.cpp
index 273a2d631d091f03652c326f7b55b5312996153d..5e117d1e62dfaa3c0dd00b996d0aaff662e6b5fd 100644
--- a/source/RobotAPI/gui-plugins/RobotUnitPlugin/RobotUnitPlugin/RobotUnitPluginWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/RobotUnitPlugin/RobotUnitPlugin/RobotUnitPluginWidgetController.cpp
@@ -31,7 +31,6 @@
 #include <QSortFilterProxyModel>
 #include <QAction>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
 #include <ArmarXCore/core/system/cmake/CMakePackageFinder.h>
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 #include <ArmarXCore/core/util/FileSystemPathBuilder.h>
@@ -523,8 +522,10 @@ void armarx::RobotUnitPluginWidgetController::on_lineEditLoggingFilter_textChang
         }
     }
     widget.treeWidgetLoggingNames->blockSignals(true);
-    for (auto item : MakeReversedRange(loggingData.allItems))
+    // Iterate in reverse order
+    for (auto iter = loggingData.allItems.rbegin(); iter != loggingData.allItems.rend(); ++iter)
     {
+        QTreeWidgetItem* item = *iter;
         loggingData.updateCheckStateUpward(item, false);
     }
     widget.treeWidgetLoggingNames->blockSignals(false);
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
index 431ce92cade5f9d8fc92d8ac7bd80fd402e84c51..e9942f7ec8875466f32951983775783f8f659679 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp
@@ -22,8 +22,6 @@
 
 #include <string>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
-
 #include "SkillManagerMonitorWidgetController.h"
 
 #include "aronTreeWidget/visitors/AronTreeWidgetCreator.h"
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
index e9effb321210d3c3201adaa40368a359785a1524..0da02a754f257e348be003a839f3dadae6d9d2a8 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
@@ -22,8 +22,6 @@
 
 #include <string>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
-
 #include "AronTreeWidgetConverter.h"
 
 // debug
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
index b3a8682081312bc1f3dbc7f036db10dbe40fb5f9..37a59c62ab72eef562f46dbf4f04d0d24b0b3977 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
@@ -22,8 +22,6 @@
 
 #include <string>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
-
 #include "AronTreeWidgetCreator.h"
 
 // debug
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetModalCreator.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetModalCreator.cpp
index a2a2240d354758a257a022fa07e211b1d993495b..20108945952003a98bc2949c5cf151f0244bb9c8 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetModalCreator.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetModalCreator.cpp
@@ -22,8 +22,6 @@
 
 #include <string>
 
-#include <ArmarXCore/util/CPPUtility/Iterator.h>
-
 #include "AronTreeWidgetModalCreator.h"
 
 #include <SimoxUtility/algorithm/string.h>