Class Reader

extends Object implements SizedReader Reader
A reader to make byte arrays readable.
Wraps a byte array and makes it readable. Specifically, it supports the read method.
This class also implements the reader.SizedReader interface and thus features the size method.
Deprecated. Use io.Reader instead.

Class summary


constructor data_/ByteArray
Constructs a new Reader from the given byte array.

Constructors

Constructs a new Reader from the given byte array.
The byte array is wrapped and not copied. As such, it should not be changed while the reader is used.

Methods

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

Reads more data.
Returns null when no data is left.
This implementation simply returns the complete byte array the first time this method is called and then null for every following call.

The initial size of this reader.
Must only be called before starting to read.

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.