ByteSink.h
Classes
- ByteSink -- Class for write-only access to data in a given format. (full description)
Interface
- Public Members
- ByteSink()
- ByteSink (TypeIO* typeIO, Bool takeOver=False)
- ByteSink (const ByteSink& sink)
- ByteSink& operator= (const ByteSink& sink)
- ~ByteSink()
- ByteSink& operator<< (Bool value)
- ByteSink& operator<< (Char value)
- ByteSink& operator<< (uChar value)
- ByteSink& operator<< (Short value)
- ByteSink& operator<< (uShort value)
- ByteSink& operator<< (Int value)
- ByteSink& operator<< (uInt value)
- ByteSink& operator<< (Int64 value)
- ByteSink& operator<< (uInt64 value)
- ByteSink& operator<< (Float value)
- ByteSink& operator<< (Double value)
- ByteSink& operator<< (const Complex& value)
- ByteSink& operator<< (const DComplex& value)
- ByteSink& operator<< (const String& value)
- ByteSink& operator<< (const Char* value)
- void write (uInt nvalues, const Bool* value)
- void write (uInt nvalues, const Char* value)
- void write (uInt nvalues, const uChar* value)
- void write (uInt nvalues, const Short* value)
- void write (uInt nvalues, const uShort* value)
- void write (uInt nvalues, const Int* value)
- void write (uInt nvalues, const uInt* value)
- void write (uInt nvalues, const Int64* value)
- void write (uInt nvalues, const uInt64* value)
- void write (uInt nvalues, const Float* value)
- void write (uInt nvalues, const Double* value)
- void write (uInt nvalues, const Complex* value)
- void write (uInt nvalues, const DComplex* value)
- void write (uInt nvalues, const String* value)
Review Status
- Reviewed By:
- Friso Olnon
- Date Reviewed:
- 1996/11/06
- Programs:
- Tests:
Prerequisite
Etymology
A sink is the place where bytes are written to.
Synopsis
ByteSink provides write-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
store 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 output stream (e.g. file, memory).
Note that in general ByteSink will only be used
for write-only streams like sockets or pipes.
Class ByteSinkSource
is the obvious choice for read/write streams.
Example
// Construct the correct output stream.
MemoryIO memio;
CanonicalIO canio (&memio);
ByteSink sink (&canio);
// Write data.
Int vali;
sink << vali << True;
Motivation
This class makes it possible to deny read-access to an IO stream.
Member Description
Default constructor.
This creates an invalid object, but is present for convenience.
ByteSink (TypeIO* typeIO, Bool takeOver=False)
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.
ByteSink (const ByteSink& sink)
The copy constructor uses reference semantics
ByteSink& operator= (const ByteSink& sink)
The assignment operator uses reference semantics
destructor
ByteSink& operator<< (Bool value)
ByteSink& operator<< (Char value)
ByteSink& operator<< (uChar value)
ByteSink& operator<< (Short value)
ByteSink& operator<< (uShort value)
ByteSink& operator<< (Int value)
ByteSink& operator<< (uInt value)
ByteSink& operator<< (Int64 value)
ByteSink& operator<< (uInt64 value)
ByteSink& operator<< (Float value)
ByteSink& operator<< (Double value)
ByteSink& operator<< (const Complex& value)
ByteSink& operator<< (const DComplex& value)
ByteSink& operator<< (const String& value)
ByteSink& operator<< (const Char* value)
These functions write one value of the given type.
If this function does not succeed, an exception will be thrown.
void write (uInt nvalues, const Bool* value)
void write (uInt nvalues, const Char* value)
void write (uInt nvalues, const uChar* value)
void write (uInt nvalues, const Short* value)
void write (uInt nvalues, const uShort* value)
void write (uInt nvalues, const Int* value)
void write (uInt nvalues, const uInt* value)
void write (uInt nvalues, const Int64* value)
void write (uInt nvalues, const uInt64* value)
void write (uInt nvalues, const Float* value)
void write (uInt nvalues, const Double* value)
void write (uInt nvalues, const Complex* value)
void write (uInt nvalues, const DComplex* value)
void write (uInt nvalues, const String* value)
These functions write multiple values of the given type.
If this function does not succeed, an exception will be thrown.