package python; import python.NativeIterable.NativeIterableRaw; abstract NativeIterator (NativeIteratorRaw) to NativeIteratorRaw to NativeIterable { public inline function new (p:NativeIteratorRaw) this = p; @:to public static inline function toHaxeIterator (p:NativeIteratorRaw):HaxeIterator return new HaxeIterator(p); @:to public static inline function toNativeIterable (p:NativeIteratorRaw):NativeIterable return p; public function getNativeIteratorRaw ():NativeIteratorRaw return this; } typedef NativeIteratorRaw = { > NativeIterableRaw, function __next__ ():T; //function __iter__ ():NativeIterator; }