summaryrefslogtreecommitdiff
path: root/octomap-backport-fix-deprcated-iterator.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-03-08 16:31:29 +0000
committerCoprDistGit <infra@openeuler.org>2025-03-08 16:31:29 +0000
commitc4b79eac90ac7c5a4e935417390928281ddec059 (patch)
tree7bd1d689c664bf539eb5e577d24339ce630a8485 /octomap-backport-fix-deprcated-iterator.patch
parentc63c737fe722e9ebb648b052292a844f2c5702dc (diff)
automatic import of ros-humble-octomapopeneuler24.03_LTS
Diffstat (limited to 'octomap-backport-fix-deprcated-iterator.patch')
-rw-r--r--octomap-backport-fix-deprcated-iterator.patch123
1 files changed, 123 insertions, 0 deletions
diff --git a/octomap-backport-fix-deprcated-iterator.patch b/octomap-backport-fix-deprcated-iterator.patch
new file mode 100644
index 0000000..7f5225f
--- /dev/null
+++ b/octomap-backport-fix-deprcated-iterator.patch
@@ -0,0 +1,123 @@
+diff --git a/octomap/include/octomap/OcTreeIterator.hxx b/octomap/include/octomap/OcTreeIterator.hxx
+index 66ae63f8..5f2dd7e5 100644
+--- ros-humble-octovis-1.9.8_org/include/octomap/OcTreeIterator.hxx
++++ ros-humble-octovis-1.9.8/include/octomap/OcTreeIterator.hxx
+@@ -39,8 +39,15 @@
+ * const with respect to the tree. This file is included within
+ * OcTreeBaseImpl.h, you should probably not include this directly.
+ */
+- class iterator_base : public std::iterator<std::forward_iterator_tag, NodeType>{
++ template<class NodeType>
++ class iterator_base{
+ public:
++ using iterator_category = std::forward_iterator_tag;
++ using value_type = NodeType;
++ using difference_type = NodeType;
++ using pointer = NodeType*;
++ using reference = NodeType&;
++
+ struct StackElement;
+ /// Default ctor, only used for the end-iterator
+ iterator_base() : tree(NULL), maxDepth(0){}
+@@ -204,16 +211,16 @@
+ * }
+ * @endcode
+ */
+- class tree_iterator : public iterator_base {
++ class tree_iterator : public iterator_base<NodeType> {
+ public:
+- tree_iterator() : iterator_base(){}
++ tree_iterator() : iterator_base<NodeType>(){}
+ /**
+ * Constructor of the iterator.
+ *
+ * @param ptree OcTreeBaseImpl on which the iterator is used on
+ * @param depth Maximum depth to traverse the tree. 0 (default): unlimited
+ */
+- tree_iterator(OcTreeBaseImpl<NodeType,INTERFACE> const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {};
++ tree_iterator(OcTreeBaseImpl<NodeType,INTERFACE> const* ptree, uint8_t depth=0) : iterator_base<NodeType>(ptree, depth) {};
+
+ /// postfix increment operator of iterator (it++)
+ tree_iterator operator++(int){
+@@ -260,9 +267,9 @@
+ * @endcode
+ *
+ */
+- class leaf_iterator : public iterator_base {
++ class leaf_iterator : public iterator_base<NodeType> {
+ public:
+- leaf_iterator() : iterator_base(){}
++ leaf_iterator() : iterator_base<NodeType>(){}
+
+ /**
+ * Constructor of the iterator.
+@@ -270,7 +277,7 @@
+ * @param ptree OcTreeBaseImpl on which the iterator is used on
+ * @param depth Maximum depth to traverse the tree. 0 (default): unlimited
+ */
+- leaf_iterator(OcTreeBaseImpl<NodeType, INTERFACE> const* ptree, uint8_t depth=0) : iterator_base(ptree, depth) {
++ leaf_iterator(OcTreeBaseImpl<NodeType, INTERFACE> const* ptree, uint8_t depth=0) : iterator_base<NodeType>(ptree, depth) {
+ // tree could be empty (= no stack)
+ if (this->stack.size() > 0){
+ // skip forward to next valid leaf node:
+@@ -280,7 +287,7 @@
+ }
+ }
+
+- leaf_iterator(const leaf_iterator& other) : iterator_base(other) {};
++ leaf_iterator(const leaf_iterator& other) : iterator_base<NodeType>(other) {};
+
+ /// postfix increment operator of iterator (it++)
+ leaf_iterator operator++(int){
+@@ -332,9 +339,9 @@
+ * }
+ * @endcode
+ */
+- class leaf_bbx_iterator : public iterator_base {
++ class leaf_bbx_iterator : public iterator_base<NodeType> {
+ public:
+- leaf_bbx_iterator() : iterator_base() {};
++ leaf_bbx_iterator() : iterator_base<NodeType>() {};
+ /**
+ * Constructor of the iterator. The bounding box corners min and max are
+ * converted into an OcTreeKey first.
+@@ -351,7 +358,7 @@
+ * @param depth Maximum depth to traverse the tree. 0 (default): unlimited
+ */
+ leaf_bbx_iterator(OcTreeBaseImpl<NodeType,INTERFACE> const* ptree, const point3d& min, const point3d& max, uint8_t depth=0)
+- : iterator_base(ptree, depth)
++ : iterator_base<NodeType>(ptree, depth)
+ {
+ if (this->stack.size() > 0){
+ assert(ptree);
+@@ -379,7 +386,7 @@
+ * @param depth Maximum depth to traverse the tree. 0 (default): unlimited
+ */
+ leaf_bbx_iterator(OcTreeBaseImpl<NodeType,INTERFACE> const* ptree, const OcTreeKey& min, const OcTreeKey& max, uint8_t depth=0)
+- : iterator_base(ptree, depth), minKey(min), maxKey(max)
++ : iterator_base<NodeType>(ptree, depth), minKey(min), maxKey(max)
+ {
+ // tree could be empty (= no stack)
+ if (this->stack.size() > 0){
+@@ -389,7 +396,7 @@
+ }
+ }
+
+- leaf_bbx_iterator(const leaf_bbx_iterator& other) : iterator_base(other) {
++ leaf_bbx_iterator(const leaf_bbx_iterator& other) : iterator_base<NodeType>(other) {
+ minKey = other.minKey;
+ maxKey = other.maxKey;
+ }
+@@ -430,10 +437,10 @@
+ protected:
+
+ void singleIncrement(){
+- typename iterator_base::StackElement top = this->stack.top();
++ typename iterator_base<NodeType>::StackElement top = this->stack.top();
+ this->stack.pop();
+
+- typename iterator_base::StackElement s;
++ typename iterator_base<NodeType>::StackElement s;
+ s.depth = top.depth +1;
+ key_type center_offset_key = this->tree->tree_max_val >> s.depth;
+ // push on stack in reverse order