From f8b3f610d40442807256ac934e7e2e6698253f3b Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Fri, 15 Nov 2019 10:41:00 +0100
Subject: [PATCH] Add __next__ function in iterators we export with
 boost.python

Previously we only had next, which is Python 2 compatible. Now
we have both.
---
 modules/img/base/pymod/export_extent.cc   | 1 +
 modules/seq/base/pymod/export_sequence.cc | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/modules/img/base/pymod/export_extent.cc b/modules/img/base/pymod/export_extent.cc
index 421fa2f89..57e3c6f1b 100644
--- a/modules/img/base/pymod/export_extent.cc
+++ b/modules/img/base/pymod/export_extent.cc
@@ -72,6 +72,7 @@ void export_Extent()
     .def("__iter__",&WrapExtentIterator::Iter,
 	 return_internal_reference<>() )
     .def("next",&WrapExtentIterator::Next)
+    .def("__next__",&WrapExtentIterator::Next)
   ;
 
   class_<ExtentIterator>("ExtentIterator", init<const Extent&,optional<unsigned int> >() )
diff --git a/modules/seq/base/pymod/export_sequence.cc b/modules/seq/base/pymod/export_sequence.cc
index e8331c7fc..e881187c5 100644
--- a/modules/seq/base/pymod/export_sequence.cc
+++ b/modules/seq/base/pymod/export_sequence.cc
@@ -328,15 +328,19 @@ void export_sequence()
   ;*/
   class_<RegionRangeIter>("RegionRangeIter", no_init)
     .def("next", &RegionRangeIter::next)
+    .def("__next__", &RegionRangeIter::next)
   ;
     class_<RevRegionRangeIter>("RevRegionRangeIter", no_init)
     .def("next", &RevRegionRangeIter::next)
+    .def("__next__", &RevRegionRangeIter::next)
   ;
   class_<ConstSeqListIter>("ConstSeqListIter", no_init)
     .def("next", &ConstSeqListIter::next)
+    .def("__next__", &ConstSeqListIter::next)
   ;
   class_<SeqListIter>("SeqListIter", no_init)
     .def("next", &SeqListIter::next)
+    .def("__next__", &SeqListIter::next)
   ;
   class_<AlignmentHandle>("AlignmentHandle", init<>())
     .def("GetCount", &AlignmentHandle::GetCount)
-- 
GitLab