Random access ports
There is an extention to the input and output ports mentioned in
Section Ravl.Core.Data_Processing.Ports
which allows sequences to be handled more flexibly. The two new types
of ports are derived from DPIPortC<> and DPOPortC<> but
extend them to allow seeking operations in a manner similar to the old
`C' style file operations. The two new classes DPISPortC<> and
DPOSPortC<> add the methods `Seek','DSeek' ,'Tell', `Size', and
`Start' to the interface.
The `Seek' and `DSeek' allow seeking to an absolute and relative
position in the stream respectively. `Tell' returns the current
absolute position in the stream. The `Size' returns the total number
of data elements in the stream, if known and `Start' the number of
the first element. In input streams the position given is that
of the next element to be read. In output streams it is of the
next element to be written.
The extra functionality is actually provided by a separate class,
'DPSeekCtrlC' which can be used separately to control and monitor
the stream position. This handle has no type information associated
with it, which can make the implementation of stream controls easier
to abstract.
Normal classes:
Advanced classes: