00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef CASA_IBMDATACONVERSION_H
00029 #define CASA_IBMDATACONVERSION_H
00030
00031
00032 #include <casacore/casa/aips.h>
00033 #include <casacore/casa/OS/DataConversion.h>
00034
00035
00036 namespace casacore {
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 class IBMDataConversion : public DataConversion
00070 {
00071 public:
00072
00073 IBMDataConversion();
00074
00075 virtual ~IBMDataConversion();
00076
00077
00078
00079
00080
00081
00082
00083
00084 virtual size_t toLocal (char& to, const void* from) const;
00085 virtual size_t toLocal (unsigned char& to, const void* from) const;
00086 virtual size_t toLocal (short& to, const void* from) const;
00087 virtual size_t toLocal (unsigned short& to, const void* from) const;
00088 virtual size_t toLocal (int& to, const void* from) const;
00089 virtual size_t toLocal (unsigned int& to, const void* from) const;
00090 virtual size_t toLocal (Int64& to, const void* from) const;
00091 virtual size_t toLocal (uInt64& to, const void* from) const;
00092 virtual size_t toLocal (float& to, const void* from) const;
00093 virtual size_t toLocal (double& to, const void* from) const;
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103 virtual size_t toLocal (char* to, const void* from,
00104 size_t nr) const;
00105 virtual size_t toLocal (unsigned char* to, const void* from,
00106 size_t nr) const;
00107 virtual size_t toLocal (short* to, const void* from,
00108 size_t nr) const;
00109 virtual size_t toLocal (unsigned short* to, const void* from,
00110 size_t nr) const;
00111 virtual size_t toLocal (int* to, const void* from,
00112 size_t nr) const;
00113 virtual size_t toLocal (unsigned int* to, const void* from,
00114 size_t nr) const;
00115 virtual size_t toLocal (Int64* to, const void* from,
00116 size_t nr) const;
00117 virtual size_t toLocal (uInt64* to, const void* from,
00118 size_t nr) const;
00119 virtual size_t toLocal (float* to, const void* from,
00120 size_t nr) const;
00121 virtual size_t toLocal (double* to, const void* from,
00122 size_t nr) const;
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132 virtual size_t fromLocal (void* to, char from) const;
00133 virtual size_t fromLocal (void* to, unsigned char from) const;
00134 virtual size_t fromLocal (void* to, short from) const;
00135 virtual size_t fromLocal (void* to, unsigned short from) const;
00136 virtual size_t fromLocal (void* to, int from) const;
00137 virtual size_t fromLocal (void* to, unsigned int from) const;
00138 virtual size_t fromLocal (void* to, Int64 from) const;
00139 virtual size_t fromLocal (void* to, uInt64 from) const;
00140 virtual size_t fromLocal (void* to, float from) const;
00141 virtual size_t fromLocal (void* to, double from) const;
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 virtual size_t fromLocal (void* to, const char* from,
00152 size_t nr) const;
00153 virtual size_t fromLocal (void* to, const unsigned char* from,
00154 size_t nr) const;
00155 virtual size_t fromLocal (void* to, const short* from,
00156 size_t nr) const;
00157 virtual size_t fromLocal (void* to, const unsigned short* from,
00158 size_t nr) const;
00159 virtual size_t fromLocal (void* to, const int* from,
00160 size_t nr) const;
00161 virtual size_t fromLocal (void* to, const unsigned int* from,
00162 size_t nr) const;
00163 virtual size_t fromLocal (void* to, const Int64* from,
00164 size_t nr) const;
00165 virtual size_t fromLocal (void* to, const uInt64* from,
00166 size_t nr) const;
00167 virtual size_t fromLocal (void* to, const float* from,
00168 size_t nr) const;
00169 virtual size_t fromLocal (void* to, const double* from,
00170 size_t nr) const;
00171
00172
00173
00174
00175
00176 virtual Bool canCopy (const char*) const;
00177 virtual Bool canCopy (const unsigned char*) const;
00178 virtual Bool canCopy (const short*) const;
00179 virtual Bool canCopy (const unsigned short*) const;
00180 virtual Bool canCopy (const int*) const;
00181 virtual Bool canCopy (const unsigned int*) const;
00182 virtual Bool canCopy (const Int64*) const;
00183 virtual Bool canCopy (const uInt64*) const;
00184 virtual Bool canCopy (const float*) const;
00185 virtual Bool canCopy (const double*) const;
00186
00187
00188
00189
00190 virtual unsigned int externalSize (const char*) const;
00191 virtual unsigned int externalSize (const unsigned char*) const;
00192 virtual unsigned int externalSize (const short*) const;
00193 virtual unsigned int externalSize (const unsigned short*) const;
00194 virtual unsigned int externalSize (const int*) const;
00195 virtual unsigned int externalSize (const unsigned int*) const;
00196 virtual unsigned int externalSize (const Int64*) const;
00197 virtual unsigned int externalSize (const uInt64*) const;
00198 virtual unsigned int externalSize (const float*) const;
00199 virtual unsigned int externalSize (const double*) const;
00200
00201 };
00202
00203
00204 inline IBMDataConversion::IBMDataConversion()
00205 {}
00206
00207
00208
00209 }
00210
00211 #endif