ByteSource.h
Classes
- ByteSource -- Class for read-only access to data in a given format. (full description)
Interface
- Public Members
- ByteSource()
- ByteSource (TypeIO* typeIO, Bool takeOver=False)
- ByteSource (const ByteSource& source)
- ByteSource& operator= (const ByteSource& source)
- ~ByteSource()
- ByteSource& operator>> (Bool& value)
- ByteSource& operator>> (Char& value)
- ByteSource& operator>> (uChar& value)
- ByteSource& operator>> (Short& value)
- ByteSource& operator>> (uShort& value)
- ByteSource& operator>> (Int& value)
- ByteSource& operator>> (uInt& value)
- ByteSource& operator>> (Int64& value)
- ByteSource& operator>> (uInt64& value)
- ByteSource& operator>> (Float& value)
- ByteSource& operator>> (Double& value)
- ByteSource& operator>> (Complex& value)
- ByteSource& operator>> (DComplex& value)
- ByteSource& operator>> (String& value)
- void read (uInt nvalues, Bool* value)
- void read (uInt nvalues, Char* value)
- void read (uInt nvalues, uChar* value)
- void read (uInt nvalues, Short* value)
- void read (uInt nvalues, uShort* value)
- void read (uInt nvalues, Int* value)
- void read (uInt nvalues, uInt* value)
- void read (uInt nvalues, Int64* value)
- void read (uInt nvalues, uInt64* value)
- void read (uInt nvalues, Float* value)
- void read (uInt nvalues, Double* value)
- void read (uInt nvalues, Complex* value)
- void read (uInt nvalues, DComplex* value)
- void read (uInt nvalues, String* value)
Review Status
- Reviewed By:
- Friso Olnon
- Date Reviewed:
- 1996/11/06
- Programs:
- Tests:
Prerequisite
Etymology
A source is the place where bytes are read from.
Synopsis
ByteSource provides read-only access to a typed byte stream in the
AIPS++ IO framework. The base class BaseSinkSource
contains common functions like seek.
The object is constructed using a typed byte stream. This stream
is an instance of a class derived from class
TypeIO. This makes it possible to
read the data in any format (e.g. CanonicalIO or RawIO).
In its turn TypeIO uses an instance of a class derived from class
ByteIO. This makes it possible to
use any input stream (e.g. file, memory).
Example
// Construct the correct input stream.
RegularFileIO filio ("file.name");
CanonicalIO canio (&filio);
ByteSource source (&canio);
// Read data.
Int vali;
Bool flag;
source >> vali >> flag;
Motivation
This class makes it possible to deny write-access to an IO stream.
Member Description
Default constructor.
This creates an invalid object, but is present for convenience.
Construct from given TypeIO object. The constructor does not copy the
object, but only keeps a pointer to it. If takeOver is true the this
class will delete the supplied pointer. Otherwise the caller is
responsible for this.
ByteSource (const ByteSource& source)
The copy constructor uses reference semantics
ByteSource& operator= (const ByteSource& source)
The assignment operator uses reference semantics
destructor
ByteSource& operator>> (Bool& value)
ByteSource& operator>> (Char& value)
ByteSource& operator>> (uChar& value)
ByteSource& operator>> (Short& value)
ByteSource& operator>> (uShort& value)
ByteSource& operator>> (Int& value)
ByteSource& operator>> (uInt& value)
ByteSource& operator>> (Int64& value)
ByteSource& operator>> (uInt64& value)
ByteSource& operator>> (Float& value)
ByteSource& operator>> (Double& value)
ByteSource& operator>> (Complex& value)
ByteSource& operator>> (DComplex& value)
ByteSource& operator>> (String& value)
These functions read one value of the given type.
If this function does not succeed, an exception will be thrown.
void read (uInt nvalues, Bool* value)
void read (uInt nvalues, Char* value)
void read (uInt nvalues, uChar* value)
void read (uInt nvalues, Short* value)
void read (uInt nvalues, uShort* value)
void read (uInt nvalues, Int* value)
void read (uInt nvalues, uInt* value)
void read (uInt nvalues, Int64* value)
void read (uInt nvalues, uInt64* value)
void read (uInt nvalues, Float* value)
void read (uInt nvalues, Double* value)
void read (uInt nvalues, Complex* value)
void read (uInt nvalues, DComplex* value)
void read (uInt nvalues, String* value)
These functions read multiple values of the given type.
If this function does not succeed, an exception will be thrown.