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