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_MODCOMPDATACONVERSION_H
00029 #define CASA_MODCOMPDATACONVERSION_H
00030
00031 #include <casacore/casa/aips.h>
00032 #include <casacore/casa/OS/DataConversion.h>
00033
00034 namespace casacore {
00035
00036
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 class ModcompDataConversion :public DataConversion
00067 {
00068 public:
00069
00070 ModcompDataConversion();
00071
00072 virtual ~ModcompDataConversion();
00073
00074
00075
00076
00077 virtual size_t toLocal (Char& to, const void* from) const;
00078 virtual size_t toLocal (uChar& to, const void* from) const;
00079 virtual size_t toLocal (Short& to, const void* from) const;
00080 virtual size_t toLocal (uShort& to, const void* from) const;
00081 virtual size_t toLocal (Int& to, const void* from) const;
00082 virtual size_t toLocal (uInt& to, const void* from) const;
00083 virtual size_t toLocal (Int64& to, const void* from) const;
00084 virtual size_t toLocal (uInt64& to, const void* from) const;
00085 virtual size_t toLocal (Float& to, const void* from) const;
00086 virtual size_t toLocal (Double& to, const void* from) const;
00087
00088
00089
00090
00091
00092 virtual size_t toLocal (Char* to, const void* from, size_t nr) const;
00093 virtual size_t toLocal (uChar* to, const void* from, size_t nr) const;
00094 virtual size_t toLocal (Short* to, const void* from, size_t nr) const;
00095 virtual size_t toLocal (uShort* to, const void* from, size_t nr) const;
00096 virtual size_t toLocal (Int* to, const void* from, size_t nr) const;
00097 virtual size_t toLocal (uInt* to, const void* from, size_t nr) const;
00098 virtual size_t toLocal (Int64* to, const void* from, size_t nr) const;
00099 virtual size_t toLocal (uInt64* to, const void* from, size_t nr) const;
00100 virtual size_t toLocal (Float* to, const void* from, size_t nr) const;
00101 virtual size_t toLocal (Double* to, const void* from, size_t nr) const;
00102
00103
00104
00105
00106
00107 virtual size_t fromLocal (void* to, Char from) const;
00108 virtual size_t fromLocal (void* to, uChar from) const;
00109 virtual size_t fromLocal (void* to, Short from) const;
00110 virtual size_t fromLocal (void* to, uShort from) const;
00111 virtual size_t fromLocal (void* to, Int from) const;
00112 virtual size_t fromLocal (void* to, uInt from) const;
00113 virtual size_t fromLocal (void* to, Int64 from) const;
00114 virtual size_t fromLocal (void* to, uInt64 from) const;
00115 virtual size_t fromLocal (void* to, Float from) const;
00116 virtual size_t fromLocal (void* to, Double from) const;
00117
00118
00119
00120
00121
00122 virtual size_t fromLocal (void* to, const Char* from, size_t nr) const;
00123 virtual size_t fromLocal (void* to, const uChar* from, size_t nr) const;
00124 virtual size_t fromLocal (void* to, const Short* from, size_t nr) const;
00125 virtual size_t fromLocal (void* to, const uShort* from, size_t nr) const;
00126 virtual size_t fromLocal (void* to, const Int* from, size_t nr) const;
00127 virtual size_t fromLocal (void* to, const uInt* from, size_t nr) const;
00128 virtual size_t fromLocal (void* to, const Int64* from, size_t nr) const;
00129 virtual size_t fromLocal (void* to, const uInt64* from, size_t nr) const;
00130 virtual size_t fromLocal (void* to, const Float* from, size_t nr) const;
00131 virtual size_t fromLocal (void* to, const Double* from, size_t nr) const;
00132
00133
00134
00135
00136
00137 virtual Bool canCopy (const Char*) const;
00138 virtual Bool canCopy (const uChar*) const;
00139 virtual Bool canCopy (const Short*) const;
00140 virtual Bool canCopy (const uShort*) const;
00141 virtual Bool canCopy (const Int*) const;
00142 virtual Bool canCopy (const uInt*) const;
00143 virtual Bool canCopy (const Int64*) const;
00144 virtual Bool canCopy (const uInt64*) const;
00145 virtual Bool canCopy (const Float*) const;
00146 virtual Bool canCopy (const Double*) const;
00147
00148
00149
00150
00151 virtual uInt externalSize (const Char*) const;
00152 virtual uInt externalSize (const uChar*) const;
00153 virtual uInt externalSize (const Short*) const;
00154 virtual uInt externalSize (const uShort*) const;
00155 virtual uInt externalSize (const Int*) const;
00156 virtual uInt externalSize (const uInt*) const;
00157 virtual uInt externalSize (const Int64*) const;
00158 virtual uInt externalSize (const uInt64*) const;
00159 virtual uInt externalSize (const Float*) const;
00160 virtual uInt externalSize (const Double*) const;
00161
00162 };
00163
00164
00165 inline ModcompDataConversion::ModcompDataConversion() {
00166 }
00167
00168 }
00169
00170 #endif