A stream class that uses a String for its storage. The underlying String may be in any supported encoding;
Set the CharEncoding property to control the interpretation of the string. Note that on Unicode systems it
is possible to use a string containing wide-character values. In this case the results of any encoding other than 'Native' are undefined.
Names the character encoding used to encode this character stream in its storage or transport format
A value of "Native" in this property means the stream is encoded in the native format for the local installation, with no translation done.
Values of "RawBytes" or "Binary" mean that each character is represented by the corresponding byte in the external storage or transport format.
(This property is overridden from %IO.IParts.ByteIO but has a different meaning in this character IO context.)
Inherited description: Read until pMaxReadLen chars are gotten or pTimeout expires
On return, if pTimeout is unchanged it means the full timeout period expired. If the timeout period expired and the returned string is shorter than pMaxReadLen, then AtEnd will be 1.
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.