memorystream: Memory-based streams

This module defines the MemoryStream class that allows creating memory-based streams.

See also: The Stream class is defined in the io module.

Class MemoryStream

Inherits Stream

class MemoryStream([contents as Str])
Construct a MemoryStream instance. If the contents argument is provided, the stream initially contains this string argument. Otherwise, the stream is initially empty. The stream pointer will always be initially at the start of the stream. MemoryStream instances are always buffered and support both reading and writing.

MemoryStream methods

MemoryStream supports all the Stream methods and the following additional methods:

seek(n as Int)
Move the stream pointer to the specified index. 0 refers to the start of the stream, 1 to the position between the first and the second character, and so on.
pos() as Int
Return the current stream pointer index.
size() as Int
Return the length of the stream contents.
contents() as Str
Return the contents of the stream as a string. This method works also if the stream is closed.

Example

import memorystream

def Main()
  var s = MemoryStream("Line 1" + Newline + "Line 2")
  s.readLn() -- Result: "Line 1"
  s.readLn() -- Result: "Line 2"
end