User Documentation
RAVL, Recognition And Vision Library
Ravl - Core - Data Processing - Seekable Ports

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:

 DPSeekCtrlC Stream position control handle class.
 DPISPortC Seekable port input handle.
 DPOSPortC Seekable port ouput handle.
 DPPlayControlC Base play control handle class.
 DPIPlayControlC Stream operation handle class.

Advanced classes:

 DPSeekCtrlAttachC Seek Control attach.
 DPISPortAttachC Seek control attach.
 DPOSPortAttachC Seek control attach.
Maintainer:Charles Galambos, Documentation by CxxDoc: Tue Aug 13 10:00:52 2002