#include <TypeIO.h>
Inheritance diagram for casa::TypeIO:

Part of API
This class is the abstract base class for doing IO in a type-dependent way. Derived from it are classes like CanonicalIO doing the actual formatting of the data.
The TypeIO classes convert the data to/from the given format using the static conversion functions in the classes like CanonicalConversion . The data is written to or read from the ByteIO object given when constructing the TypeIO object.
TypeIO declares the virtual functions read and write to read/write one or more values of a given data type. Usually the derived classes have to implement these functions. An exception are the functions handling Bool, complex and String values. These functions have a default implementation in this base class. However, if needed they can be overwritten in derived classes.
The base class is needed for polymorphic type-dependent IO. Furthermore the common functionality can be implemented here.
Definition at line 79 of file TypeIO.h.
Public Member Functions | |
| TypeIO (ByteIO *byteIO, Bool takeOver=False) | |
| Constructor. | |
| virtual | ~TypeIO () |
| Bool | isReadable () const |
| Is the TypeIO stream readable? | |
| Bool | isWritable () const |
| Is the TypeIO stream writable? | |
| Bool | isSeekable () const |
| Is the TypeIO stream seekable? | |
| const ByteIO & | byteIO () const |
| Functions to return a reference to the ByteIO class. | |
| ByteIO & | byteIO () |
| virtual uInt | write (uInt nvalues, const Bool *value) |
| Convert the values and write them to the ByteIO object. | |
| virtual uInt | write (uInt nvalues, const Char *value)=0 |
| virtual uInt | write (uInt nvalues, const uChar *value)=0 |
| virtual uInt | write (uInt nvalues, const Short *value)=0 |
| virtual uInt | write (uInt nvalues, const uShort *value)=0 |
| virtual uInt | write (uInt nvalues, const Int *value)=0 |
| virtual uInt | write (uInt nvalues, const uInt *value)=0 |
| virtual uInt | write (uInt nvalues, const Int64 *value)=0 |
| virtual uInt | write (uInt nvalues, const uInt64 *value)=0 |
| virtual uInt | write (uInt nvalues, const Float *value)=0 |
| virtual uInt | write (uInt nvalues, const Double *value)=0 |
| virtual uInt | write (uInt nvalues, const Complex *value) |
| virtual uInt | write (uInt nvalues, const DComplex *value) |
| virtual uInt | write (uInt nvalues, const String *value) |
| virtual uInt | read (uInt nvalues, Bool *value) |
| Read the values from the ByteIO object and convert them. | |
| virtual uInt | read (uInt nvalues, Char *value)=0 |
| virtual uInt | read (uInt nvalues, uChar *value)=0 |
| virtual uInt | read (uInt nvalues, Short *value)=0 |
| virtual uInt | read (uInt nvalues, uShort *value)=0 |
| virtual uInt | read (uInt nvalues, Int *value)=0 |
| virtual uInt | read (uInt nvalues, uInt *value)=0 |
| virtual uInt | read (uInt nvalues, Int64 *value)=0 |
| virtual uInt | read (uInt nvalues, uInt64 *value)=0 |
| virtual uInt | read (uInt nvalues, Float *value)=0 |
| virtual uInt | read (uInt nvalues, Double *value)=0 |
| virtual uInt | read (uInt nvalues, Complex *value) |
| virtual uInt | read (uInt nvalues, DComplex *value) |
| virtual uInt | read (uInt nvalues, String *value) |
| Int64 | seek (Int64 offset, ByteIO::SeekOption=ByteIO::Begin) |
| This function sets the position on the given offset. | |
| Int64 | seek (Int offset, ByteIO::SeekOption=ByteIO::Begin) |
Protected Member Functions | |
| TypeIO (const TypeIO &TypeIO) | |
| The copy constructor uses reference semantics. | |
| TypeIO & | operator= (const TypeIO &typeIO) |
| The assignment operator uses reference semantics. | |
Protected Attributes | |
| CountedPtr< ByteIO > | itsByteIO |
| This varable keeps a pointer to a ByteIO. | |
Constructor.
The read/write functions will use the given ByteIO object as the data store.
| virtual casa::TypeIO::~TypeIO | ( | ) | [virtual] |
| casa::TypeIO::TypeIO | ( | const TypeIO & | TypeIO | ) | [protected] |
The copy constructor uses reference semantics.
| ByteIO& casa::TypeIO::byteIO | ( | ) |
Convert the values and write them to the ByteIO object.
By default Bools are stored as bits, Complex as 2 floats, DComplex as 2 doubles and String as a length (uInt) and chars. If it does not succeed an exception will be thrown.
Referenced by casa::StManArrayFile::put().
Read the values from the ByteIO object and convert them.
By default Bools are stored as bits, Complex as 2 floats, DComplex as 2 doubles and String as a length (uInt) and chars. If it does not succeed an exception will be thrown.
Referenced by casa::StManArrayFile::get().
| Int64 casa::TypeIO::seek | ( | Int64 | offset, | |
| ByteIO::SeekOption | = ByteIO::Begin | |||
| ) |
This function sets the position on the given offset.
The seek option defines from which file position the seek is done. -1 is returned if not seekable.
| Int64 casa::TypeIO::seek | ( | Int | offset, | |
| ByteIO::SeekOption | = ByteIO::Begin | |||
| ) |
The assignment operator uses reference semantics.
CountedPtr<ByteIO> casa::TypeIO::itsByteIO [protected] |
1.5.1