io.core
core module for new I/O- Retruns element type of device.
- Returns true if Dev is a source. It must define the primitive pull. pull operation provides synchronous but non-blocking input.
- Returns true if Dev is a sink. It must define the primitive push. push operation provides synchronous but non-blocking output.
- Returns true if Dev is a buffered source. It must define the three primitives, fetch, available, and consume. In definition, initial state of buffered source has 0 length available. It assumes that the buffer is not fetch-ed yet.
- Returns true if Dev is a buffered sink. It must define the three primitives, flush, writable, and commit.
- Check that Dev is seekable source or sink. Seekable device supports seek primitive.
- Device supports both primitives of source and sink.
- Provides runtime source interface.
- Provides runtime sink interface.
- Provides runtime buffered source interface.
- Provides runtime buffered sink interface.
- Provides runtime seekable interface.
- Disable sink interface of device. If device has buffered interface, keep it.
- Disable source interface of device.
- Change device element type from ubyte to E. While device operation, remain bytes are cached.
- Generate possible range interface from device. If device is a buffered source, input range interface is available. If device is a sink, output range interface is available. If original device element is Unicode character, supports decoding and encoding.