Skip to main content


class %IO.MetaCharacterStream extends %IO.I.CharacterSeekableStream, %IO.IParts.MetaIO

Provides a %IO seekable stream wrapper for one or more %IO streams, %Library streams or %Stream streams. It can use different streams for input/Read and output/Write, and it can write a copy of input stream data to one or more additional output streams.

Method Inventory


method %OnNew(pBaseStream As %IO.I.Stream = "") as %Status
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

method AtEndGet() as %Boolean
method BindInput(pInputStream As %IO.I.Stream, Output pSC As %Status)
method IsOpenGet() as %Boolean
method LineTerminatorSet(pTerm As %String) as %Status
method PositionGet() as %Integer
method ReadLine(pMaxReadLen As %Integer, ByRef pTimeout As %Numeric = -1, Output pSC As %Status, ByRef pLineTerminator As %String = ..LineTerminator) as %String
Inherited description: Read until pMaxReadLen chars are gotten, pTimeout expires, or a LineTerminator character is found. On return, if pTimeout=0 it means no timeout occurred. If pTimeout=0 and the returned string contains the full pMaxReadLen characters, it means no LineTerminator was encountered yet, even if the following character would be a LineTerminator. If pTimeout=0 and the returned string is shorter than pMaxReadLen, then either a LineTerminator or the End Of Stream (AtEnd = 1) was encountered. If pLineTerminator is defined, then the line is read until one of the given characters is encountered. On return, pLineTerminator contains the encountered character(s) if any.
method Seek(pPosition As %Integer, Output pSC As %Status) as %Boolean
method SizeGet() as %Integer

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab