Skip to main content

%SYS.Python.StreamIterator

Class %SYS.Python.StreamIterator Extends %RegisteredObject [ System = 4 ]

Implementation of a COS Stream Iterator for Python

Properties​

%Stream​

Property %Stream As %Stream.Object [ Transient ];

Stream that we are iterating on

Methods​

%OnNew​

Method %OnNew(stream As %Stream.Object, mode As %String = "") As %Status

Initialize this iterator helper

"next"​

Method "__next__"() As %String

Python iterator implementation. The spec states that an iterator should return lines.

"iter"​

Method "__iter__"() As %SYS.Python.StreamIterator

Allows an "iterator on an iterator", note that it does NOT reset then "index" it just continues on and this does not "clone", it's a reference as per Python behavior

"len"​

Method "__len__"() As %Integer

Return the length of the iterable collection (if known)