casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::DataConversion Class Reference

Abstract base class with functions to convert any format. More...

#include <DataConversion.h>

Inheritance diagram for casa::DataConversion:
casa::CanonicalDataConversion casa::IBMDataConversion casa::LECanonicalDataConversion casa::ModcompDataConversion casa::RawDataConversion casa::VAXDataConversion

List of all members.

Public Member Functions

 DataConversion ()
 Construct the object.
virtual ~DataConversion ()
virtual unsigned int toLocal (char &to, const void *from) const =0
 Convert one value from foreign format to local format.
virtual unsigned int toLocal (unsigned char &to, const void *from) const =0
virtual unsigned int toLocal (short &to, const void *from) const =0
virtual unsigned int toLocal (unsigned short &to, const void *from) const =0
virtual unsigned int toLocal (int &to, const void *from) const =0
virtual unsigned int toLocal (unsigned int &to, const void *from) const =0
virtual unsigned int toLocal (Int64 &to, const void *from) const =0
virtual unsigned int toLocal (uInt64 &to, const void *from) const =0
virtual unsigned int toLocal (float &to, const void *from) const =0
virtual unsigned int toLocal (double &to, const void *from) const =0
virtual unsigned int toLocal (char *to, const void *from, unsigned int nr) const =0
 Convert nr values from foreign format to local format.
virtual unsigned int toLocal (unsigned char *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (short *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (unsigned short *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (int *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (unsigned int *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (Int64 *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (uInt64 *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (float *to, const void *from, unsigned int nr) const =0
virtual unsigned int toLocal (double *to, const void *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, char from) const =0
 Convert one value from local format to foreign format.
virtual unsigned int fromLocal (void *to, unsigned char from) const =0
virtual unsigned int fromLocal (void *to, short from) const =0
virtual unsigned int fromLocal (void *to, unsigned short from) const =0
virtual unsigned int fromLocal (void *to, int from) const =0
virtual unsigned int fromLocal (void *to, unsigned int from) const =0
virtual unsigned int fromLocal (void *to, Int64 from) const =0
virtual unsigned int fromLocal (void *to, uInt64 from) const =0
virtual unsigned int fromLocal (void *to, float from) const =0
virtual unsigned int fromLocal (void *to, double from) const =0
virtual unsigned int fromLocal (void *to, const char *from, unsigned int nr) const =0
 Convert nr values from local format to foreign format.
virtual unsigned int fromLocal (void *to, const unsigned char *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const short *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const unsigned short *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const int *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const unsigned int *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const Int64 *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const uInt64 *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const float *from, unsigned int nr) const =0
virtual unsigned int fromLocal (void *to, const double *from, unsigned int nr) const =0
virtual Bool canCopy (const char *) const =0
 Determine if the data for a data type can be simply copied, thus if no conversion is needed.
virtual Bool canCopy (const unsigned char *) const =0
virtual Bool canCopy (const short *) const =0
virtual Bool canCopy (const unsigned short *) const =0
virtual Bool canCopy (const int *) const =0
virtual Bool canCopy (const unsigned int *) const =0
virtual Bool canCopy (const Int64 *) const =0
virtual Bool canCopy (const uInt64 *) const =0
virtual Bool canCopy (const float *) const =0
virtual Bool canCopy (const double *) const =0
virtual unsigned int externalSize (const char *) const =0
 Get the external size of the data type.
virtual unsigned int externalSize (const unsigned char *) const =0
virtual unsigned int externalSize (const short *) const =0
virtual unsigned int externalSize (const unsigned short *) const =0
virtual unsigned int externalSize (const int *) const =0
virtual unsigned int externalSize (const unsigned int *) const =0
virtual unsigned int externalSize (const Int64 *) const =0
virtual unsigned int externalSize (const uInt64 *) const =0
virtual unsigned int externalSize (const float *) const =0
virtual unsigned int externalSize (const double *) const =0

Detailed Description

Abstract base class with functions to convert any format.

Intended use:

Public interface

Review Status

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

Synopsis

This abstract base class contains pure virtual functions to convert from any foreign data format to local format and vice-versa. Classes derived from it implement the functions for a specific foreign format (e.g.

CanonicalDataConversion , VAXDataConversion , IBMDataConversion ). RawDataConversion ).

Example

    // Construct the correct conversion object.
    DataConversion* conv = new IBMDataConversion();
    // Say that you read a block of 256 floats (in IBM-format).
    char buffer[1024];
    read (fd, buffer, 1024);
    // Convert the float to local format.
    float values[256];
    conv->toLocal (values, buffer, 256);

Motivation

The abstract base class allows one to construct the correct conversion object at the beginning. Thereafter this base class can be used and polymorphism takes care of picking the correct functions.

To Do

Definition at line 82 of file DataConversion.h.


Constructor & Destructor Documentation

Construct the object.

Definition at line 227 of file DataConversion.h.


Member Function Documentation

virtual Bool casa::DataConversion::canCopy ( const char *  ) const [pure virtual]

Determine if the data for a data type can be simply copied, thus if no conversion is needed.

Implemented in casa::IBMDataConversion, casa::CanonicalDataConversion, casa::LECanonicalDataConversion, casa::RawDataConversion, casa::VAXDataConversion, and casa::ModcompDataConversion.

virtual Bool casa::DataConversion::canCopy ( const unsigned char *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const short *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const unsigned short *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const int *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const unsigned int *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const Int64 ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const uInt64 ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const float *  ) const [pure virtual]
virtual Bool casa::DataConversion::canCopy ( const double *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const char *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const unsigned char *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const short *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const unsigned short *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const int *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const unsigned int *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const Int64 ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const uInt64 ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const float *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::externalSize ( const double *  ) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
char  from 
) const [pure virtual]

Convert one value from local format to foreign format.

The from and to buffer should not overlap.
Note: The char version handles characters (thus may involve conversion ASCII to EBCDIC), while the unsigned chars are simply bytes;

Implemented in casa::IBMDataConversion, casa::CanonicalDataConversion, casa::LECanonicalDataConversion, casa::RawDataConversion, casa::VAXDataConversion, and casa::ModcompDataConversion.

virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
unsigned char  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
short  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
unsigned short  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
int  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
unsigned int  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
Int64  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
uInt64  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
float  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
double  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const char *  from,
unsigned int  nr 
) const [pure virtual]

Convert nr values from local format to foreign format.

The from and to buffer should not overlap.
Note: The char version handles characters (thus may involve conversion ASCII to EBCDIC), while the unsigned chars are simply bytes;

Implemented in casa::IBMDataConversion, casa::CanonicalDataConversion, casa::LECanonicalDataConversion, casa::RawDataConversion, casa::VAXDataConversion, and casa::ModcompDataConversion.

virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const unsigned char *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const short *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const unsigned short *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const int *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const unsigned int *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const Int64 from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const uInt64 from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const float *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::fromLocal ( void *  to,
const double *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( char &  to,
const void *  from 
) const [pure virtual]

Convert one value from foreign format to local format.

The from and to buffer should not overlap.
Note: The char version handles characters (thus may involve conversion EBCDIC to ASCII), while the unsigned chars are simply bytes;

Implemented in casa::IBMDataConversion, casa::CanonicalDataConversion, casa::LECanonicalDataConversion, casa::RawDataConversion, casa::VAXDataConversion, and casa::ModcompDataConversion.

virtual unsigned int casa::DataConversion::toLocal ( unsigned char &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( short &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( unsigned short &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( int &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( unsigned int &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( Int64 to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( uInt64 to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( float &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( double &  to,
const void *  from 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( char *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]

Convert nr values from foreign format to local format.

The from and to buffer should not overlap.
Note: The char version handles characters (thus may involve conversion EBCDIC to ASCII), while the unsigned chars are simply bytes;

Implemented in casa::IBMDataConversion, casa::CanonicalDataConversion, casa::LECanonicalDataConversion, casa::RawDataConversion, casa::VAXDataConversion, and casa::ModcompDataConversion.

virtual unsigned int casa::DataConversion::toLocal ( unsigned char *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( short *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( unsigned short *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( int *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( unsigned int *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( Int64 to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( uInt64 to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( float *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]
virtual unsigned int casa::DataConversion::toLocal ( double *  to,
const void *  from,
unsigned int  nr 
) const [pure virtual]

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