Object <- MemoryReader |
|
|
DoSeekReader Init NewMemoryReader |
Class MemoryReader defines no new attributes.
Fields
| Field | Type | |
|---|---|---|
| Stream: | target: | Object |
| Reader: | readerBuffer: | Buffer |
| start: | Unsigned | |
| lowPosition: | Unsigned | |
| highPosition: | Unsigned | |
| currentPosition: | Unsigned | |
| closed: | Boolean | |
| seekable: | Boolean | |
| intermittent: | Boolean | |
| MemoryReader: | sourceAddress: | Pointer |
| sourceCount: | Unsigned |
instance MemoryReader tag; target: nilObject; readerBuffer: nilObject; start: 0; lowPosition: 0; highPosition: 0; currentPosition: 0; closed: false; seekable: false; intermittent: false; sourceAddress: nil; sourceCount: 0; end instance;
Define Class MemoryReader; inherits from Object; inherits from Stream, Reader; field sourceAddress: Pointer; // the address of the first byte of memory to be read field sourceCount: Unsigned; // the number of bytes available to be read intrinsic NewMemoryReader(address: Pointer; count: Unsigned; nearThis: Object): MemoryReader; // returns a reader on "count" bytes of memory at "address" overrides DoSeekReader; // fills the buffer with bytes starting at sourceAddress[pos] overrides Init; // sets seekable to be true end class;