Thomas Daniel wrote:
BOOST_PYTHON_MODULE(vegetables)
{
class_<Garden>("Garden")
.def("get_potatoes", &Garden::get_potatoes)
.def("get_tomatoes", &Garden::get_tomatoes)
;
class_<TomatoIter>("TomatoIter")
.def("__iter__", &TomatoIter::get_next)
;
}
That at least compiles - unlike all my previous attempts that generate
three pages of template errors - but python complain:
TypeError: iter() returned non-iterator of type 'Tomato'
so now I am trying to figure out how to tell boost that get_tomatoes
returns an iterator ...
Please don't top-post, guys
As you know, python iterators have a function next() that returns the
next object in the iteree, or throw StopIteration when they're at the
end. As you also know, python expects member functions __iter__() to
return an iterator. Is the thing returned by TomatoIter::get_next an
iterator, ie does it implement the iterator interface?
-t
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig