casacore
Loading...
Searching...
No Matches
casacore::ByteSink Class Reference

More...

#include <ByteSink.h>

Public Member Functions

 ByteSink ()
 Default constructor.
 
 ByteSink (const std::shared_ptr< TypeIO > &typeIO)
 Construct from given TypeIO object.
 
 ByteSink (const ByteSink &sink)
 The copy constructor uses reference semantics.
 
ByteSinkoperator= (const ByteSink &sink)
 The assignment operator uses reference semantics.
 
 ~ByteSink ()
 destructor
 
ByteSinkoperator<< (Bool value)
 These functions write one value of the given type.
 
ByteSinkoperator<< (Char value)
 
ByteSinkoperator<< (uChar value)
 
ByteSinkoperator<< (Short value)
 
ByteSinkoperator<< (uShort value)
 
ByteSinkoperator<< (Int value)
 
ByteSinkoperator<< (uInt value)
 
ByteSinkoperator<< (Int64 value)
 
ByteSinkoperator<< (uInt64 value)
 
ByteSinkoperator<< (Float value)
 
ByteSinkoperator<< (Double value)
 
ByteSinkoperator<< (const Complex &value)
 
ByteSinkoperator<< (const DComplex &value)
 
ByteSinkoperator<< (const String &value)
 
ByteSinkoperator<< (const Char *value)
 
void write (size_t nvalues, const Bool *value)
 These functions write multiple values of the given type.
 
void write (size_t nvalues, const Char *value)
 
void write (size_t nvalues, const uChar *value)
 
void write (size_t nvalues, const Short *value)
 
void write (size_t nvalues, const uShort *value)
 
void write (size_t nvalues, const Int *value)
 
void write (size_t nvalues, const uInt *value)
 
void write (size_t nvalues, const Int64 *value)
 
void write (size_t nvalues, const uInt64 *value)
 
void write (size_t nvalues, const Float *value)
 
void write (size_t nvalues, const Double *value)
 
void write (size_t nvalues, const Complex *value)
 
void write (size_t nvalues, const DComplex *value)
 
void write (size_t nvalues, const String *value)
 
- Public Member Functions inherited from casacore::BaseSinkSource
const std::shared_ptr< TypeIO > & typeIO () const
 This functions returns the shared pointer to itsTypeIO.
 
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)
 
Bool isReadable () const
 Is the SinkSource readable?
 
Bool isWritable () const
 Is the SinkSource writable?
 
Bool isSeekable () const
 Is the SinkSource seekable?
 
Bool isNull () const
 Is the BaseSinkSource unusable?

 

Additional Inherited Members

- Protected Member Functions inherited from casacore::BaseSinkSource
 BaseSinkSource ()
 
 BaseSinkSource (const std::shared_ptr< TypeIO > &typeIO)
 Construct using the given TypeIO.
 
 BaseSinkSource (const BaseSinkSource &BaseSinkSource)
 The copy constructor uses reference semantics.
 
BaseSinkSourceoperator= (const BaseSinkSource &BaseSinkSource)
 The assignment operator uses reference semantics.
 
virtual ~BaseSinkSource ()
 
- Protected Attributes inherited from casacore::BaseSinkSource
std::shared_ptr< TypeIOitsTypeIO
 This variable keeps a pointer to a TypeIO.
 

Detailed Description

Class for write-only access to data in a given format.

Intended use:

Public interface

Review Status

Reviewed By:
Friso Olnon
Date Reviewed:
1996/11/06
Test programs:
tByteSink

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 Casacore 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;
int Int
Definition aipstype.h:48
const Bool True
Definition aipstype.h:41

Motivation

This class makes it possible to deny read-access to an IO stream.

Definition at line 93 of file ByteSink.h.

Constructor & Destructor Documentation

◆ ByteSink() [1/3]

casacore::ByteSink::ByteSink ( )

Default constructor.

This creates an invalid object, but is present for convenience.

◆ ByteSink() [2/3]

casacore::ByteSink::ByteSink ( const std::shared_ptr< TypeIO > & typeIO)

Construct from given TypeIO object.

The constructor does not copy the object, but only keeps a pointer to it.

◆ ByteSink() [3/3]

casacore::ByteSink::ByteSink ( const ByteSink & sink)

The copy constructor uses reference semantics.

◆ ~ByteSink()

casacore::ByteSink::~ByteSink ( )

destructor

Member Function Documentation

◆ operator<<() [1/15]

ByteSink & casacore::ByteSink::operator<< ( Bool value)

These functions write one value of the given type.

If this function does not succeed, an exception will be thrown.

◆ operator<<() [2/15]

ByteSink & casacore::ByteSink::operator<< ( Char value)

◆ operator<<() [3/15]

ByteSink & casacore::ByteSink::operator<< ( const Char * value)

◆ operator<<() [4/15]

ByteSink & casacore::ByteSink::operator<< ( const Complex & value)

◆ operator<<() [5/15]

ByteSink & casacore::ByteSink::operator<< ( const DComplex & value)

◆ operator<<() [6/15]

ByteSink & casacore::ByteSink::operator<< ( const String & value)

◆ operator<<() [7/15]

ByteSink & casacore::ByteSink::operator<< ( Double value)

◆ operator<<() [8/15]

ByteSink & casacore::ByteSink::operator<< ( Float value)

◆ operator<<() [9/15]

ByteSink & casacore::ByteSink::operator<< ( Int value)

◆ operator<<() [10/15]

ByteSink & casacore::ByteSink::operator<< ( Int64 value)

◆ operator<<() [11/15]

ByteSink & casacore::ByteSink::operator<< ( Short value)

◆ operator<<() [12/15]

ByteSink & casacore::ByteSink::operator<< ( uChar value)

◆ operator<<() [13/15]

ByteSink & casacore::ByteSink::operator<< ( uInt value)

◆ operator<<() [14/15]

ByteSink & casacore::ByteSink::operator<< ( uInt64 value)

◆ operator<<() [15/15]

ByteSink & casacore::ByteSink::operator<< ( uShort value)

◆ operator=()

ByteSink & casacore::ByteSink::operator= ( const ByteSink & sink)

The assignment operator uses reference semantics.

◆ write() [1/14]

void casacore::ByteSink::write ( size_t nvalues,
const Bool * value )

These functions write multiple values of the given type.

If this function does not succeed, an exception will be thrown.

◆ write() [2/14]

void casacore::ByteSink::write ( size_t nvalues,
const Char * value )

◆ write() [3/14]

void casacore::ByteSink::write ( size_t nvalues,
const Complex * value )

◆ write() [4/14]

void casacore::ByteSink::write ( size_t nvalues,
const DComplex * value )

◆ write() [5/14]

void casacore::ByteSink::write ( size_t nvalues,
const Double * value )

◆ write() [6/14]

void casacore::ByteSink::write ( size_t nvalues,
const Float * value )

◆ write() [7/14]

void casacore::ByteSink::write ( size_t nvalues,
const Int * value )

◆ write() [8/14]

void casacore::ByteSink::write ( size_t nvalues,
const Int64 * value )

◆ write() [9/14]

void casacore::ByteSink::write ( size_t nvalues,
const Short * value )

◆ write() [10/14]

void casacore::ByteSink::write ( size_t nvalues,
const String * value )

◆ write() [11/14]

void casacore::ByteSink::write ( size_t nvalues,
const uChar * value )

◆ write() [12/14]

void casacore::ByteSink::write ( size_t nvalues,
const uInt * value )

◆ write() [13/14]

void casacore::ByteSink::write ( size_t nvalues,
const uInt64 * value )

◆ write() [14/14]

void casacore::ByteSink::write ( size_t nvalues,
const uShort * value )

The documentation for this class was generated from the following file: