casacore
|
Abstract base class for IO of data in a type-dependent format. More...
#include <TypeIO.h>
Public Member Functions | |
TypeIO (ByteIO *byteIO, Bool takeOver=False) | |
Constructor. More... | |
virtual | ~TypeIO () |
const ByteIO & | byteIO () const |
Functions to return a reference to the ByteIO class. More... | |
ByteIO & | byteIO () |
virtual size_t | write (size_t nvalues, const Bool *value) |
Convert the values and write them to the ByteIO object. More... | |
virtual size_t | write (size_t nvalues, const Char *value)=0 |
virtual size_t | write (size_t nvalues, const uChar *value)=0 |
virtual size_t | write (size_t nvalues, const Short *value)=0 |
virtual size_t | write (size_t nvalues, const uShort *value)=0 |
virtual size_t | write (size_t nvalues, const Int *value)=0 |
virtual size_t | write (size_t nvalues, const uInt *value)=0 |
virtual size_t | write (size_t nvalues, const Int64 *value)=0 |
virtual size_t | write (size_t nvalues, const uInt64 *value)=0 |
virtual size_t | write (size_t nvalues, const Float *value)=0 |
virtual size_t | write (size_t nvalues, const Double *value)=0 |
virtual size_t | write (size_t nvalues, const Complex *value) |
virtual size_t | write (size_t nvalues, const DComplex *value) |
virtual size_t | write (size_t nvalues, const String *value) |
virtual size_t | read (size_t nvalues, Bool *value) |
Read the values from the ByteIO object and convert them. More... | |
virtual size_t | read (size_t nvalues, Char *value)=0 |
virtual size_t | read (size_t nvalues, uChar *value)=0 |
virtual size_t | read (size_t nvalues, Short *value)=0 |
virtual size_t | read (size_t nvalues, uShort *value)=0 |
virtual size_t | read (size_t nvalues, Int *value)=0 |
virtual size_t | read (size_t nvalues, uInt *value)=0 |
virtual size_t | read (size_t nvalues, Int64 *value)=0 |
virtual size_t | read (size_t nvalues, uInt64 *value)=0 |
virtual size_t | read (size_t nvalues, Float *value)=0 |
virtual size_t | read (size_t nvalues, Double *value)=0 |
virtual size_t | read (size_t nvalues, Complex *value) |
virtual size_t | read (size_t nvalues, DComplex *value) |
virtual size_t | read (size_t nvalues, String *value) |
Int64 | seek (Int64 offset, ByteIO::SeekOption=ByteIO::Begin) |
This function sets the position on the given offset. More... | |
Int64 | seek (Int offset, ByteIO::SeekOption=ByteIO::Begin) |
Bool | isReadable () const |
Is the TypeIO stream readable? More... | |
Bool | isWritable () const |
Is the TypeIO stream writable? More... | |
Bool | isSeekable () const |
Is the TypeIO stream seekable? More... | |
Protected Member Functions | |
TypeIO (const TypeIO &TypeIO) | |
The copy constructor uses reference semantics. More... | |
TypeIO & | operator= (const TypeIO &typeIO) |
The assignment operator uses reference semantics. More... | |
Protected Attributes | |
CountedPtr< ByteIO > | itsByteIO |
This variable keeps a pointer to a ByteIO. More... | |
Abstract base class for IO of data in a type-dependent format.
Public interface
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.
Constructor.
The read/write functions will use the given ByteIO object as the data store.
|
virtual |
|
protected |
The copy constructor uses reference semantics.
const ByteIO& casacore::TypeIO::byteIO | ( | ) | const |
Functions to return a reference to the ByteIO class.
ByteIO& casacore::TypeIO::byteIO | ( | ) |
The assignment operator uses reference semantics.
|
virtual |
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.
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
Referenced by casacore::StManArrayFile::get().
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
Int64 casacore::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 casacore::TypeIO::seek | ( | Int | offset, |
ByteIO::SeekOption | = ByteIO::Begin |
||
) |
|
virtual |
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.
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
Referenced by casacore::StManArrayFile::put().
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
pure virtual |
Implemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
virtual |
Reimplemented in casacore::ConversionIO, casacore::CanonicalIO, casacore::LECanonicalIO, and casacore::RawIO.
|
protected |