31#include <casacore/casa/aips.h>
32#include <casacore/casa/Utilities/DataType.h>
33#include <casacore/casa/BasicSL/String.h>
34#include <casacore/casa/BasicSL/Complex.h>
35#include <casacore/casa/Utilities/Compare.h>
36#include <casacore/casa/OS/Conversion.h>
37#include <casacore/casa/IO/AipsIO.h>
38#include <casacore/casa/iosfwd.h>
129 static DataType
getType (
const float*);
130 static DataType
getType (
const double*);
131 static DataType
getType (
const Complex*);
132 static DataType
getType (
const DComplex*);
135 static DataType
getType (
const void*);
176 uInt& nrElementsPerValue,
186 static std::shared_ptr<BaseCompare>
getCmpObj (DataType);
201 static void put (
AipsIO&,
const double*);
202 static void put (
AipsIO&,
const Complex*);
203 static void put (
AipsIO&,
const DComplex*);
232 static void put (ostream&,
const Bool*);
233 static void put (ostream&,
const Char*);
234 static void put (ostream&,
const uChar*);
235 static void put (ostream&,
const Short*);
236 static void put (ostream&,
const uShort*);
237 static void put (ostream&,
const Int*);
238 static void put (ostream&,
const uInt*);
239 static void put (ostream&,
const Int64*);
240 static void put (ostream&,
const float*);
241 static void put (ostream&,
const double*);
242 static void put (ostream&,
const Complex*);
243 static void put (ostream&,
const DComplex*);
244 static void put (ostream&,
const String*);
245 static void put (ostream&,
const void*);
263 static int isDefined (
const Complex*
value,
const Complex* undef);
264 static int isDefined (
const DComplex*
value,
const DComplex* undef);
285 static String result(
"Bool ");
289 static String result(
"Char ");
293 static String result(
"uChar ");
297 static String result(
"Short ");
301 static String result(
"uShort ");
305 static String result(
"Int ");
309 static String result(
"uInt ");
313 static String result(
"Int64 ");
317 static String result(
"float ");
321 static String result(
"double ");
325 static String result(
"Complex ");
329 static String result(
"DComplex");
333 static String result(
"String ");
337 static String result(
"Record ");
341 static String result(
"Table ");
345 static String result(
"Other ");
349 static String result(
"unknown ");
568 {
return *
value != *undef;}
570 {
return *
value != *undef;}
572 {
return *
value != *undef;}
574 {
return *
value != *undef;}
576 {
return *
value != *undef;}
578 {
return *
value != *undef;}
580 {
return *
value != *undef;}
582 {
return *
value != *undef;}
584 {
return *
value != *undef;}
586 {
return *
value != *undef;}
588 {
return *
value != *undef;}
590 {
return *
value != *undef;}
592 {
return *
value != *undef;}
size_t ValueFunction(void *to, const void *from, size_t nvalues)
Define the signature of a function converting nvalues values from internal to external format or vice...
String: the storage and methods of handling collections of characters.
static const String & strshort()
static void getUndef(Bool *)
Get the "undefined value" for this data type in the argument.
static ObjCompareFunc * getCmpFunc(DataType)
Get the pointer to the routine which compares two values.
ValType()
This class is not meant to be constructed.
static const String & strdcomplex()
static const String & strint()
static const String & strrecord()
static float undefFloat()
static std::shared_ptr< BaseCompare > getCmpObj(DataType)
Get the object which compares two values.
static int getCanonicalSize(DataType, Bool BECanonical=True)
Get the size of data type in canonical format.
static Short undefShort()
static Bool undefBool()
Get the "undefined value" for this data type as the function's return value.
static const String undefstring
static const String & strother()
static const Char undefchar
static String undefString()
static const String & strfloat()
static const float undeffloat
static int getTypeSize(DataType)
Get the size of data type (in local format).
static const Complex undefcomplex
static const double undefdouble
static const String & strushort()
static const String & strchar()
static const Short undefshort
static Bool isPromotable(DataType from, DataType to)
Test if a data type can be promoted to another.
static const uInt undefuint
static const String & strbool()
static const String & strint64()
static Complex undefComplex()
static const uChar undefuchar
static DComplex undefDComplex()
static const Int64 undefint64
static const String & strunknown()
static void put(AipsIO &, const Bool *)
Put the value into AipsIO.
static const String & strdouble()
static const Int undefint
static DataType getType(const Bool *)
Get the data type code for this type as the function's return value.
static void getCanonicalFunc(DataType dt, Conversion::ValueFunction *&readFunc, Conversion::ValueFunction *&writeFunc, uInt &nrElementsPerValue, Bool BECanonical=True)
Get the functions to convert to/from canonical format.
static Int64 undefInt64()
static const String & struchar()
static uChar undefUChar()
static const String & getTypeStr(DataType)
Get the name of the data type.
static double undefDouble()
static const uShort undefushort
static uShort undefUShort()
static void get(AipsIO &, Bool *)
Get the value from AipsIO.
static const String & strcomplex()
static const Bool undefbool
static const String & struint()
static const DComplex undefdcomplex
static const String & strtable()
static int isDefined(const Bool *value, const Bool *undef)
Check if a value is defined, i.e.
static const String & strstring()
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.