28 #ifndef CASA_HDF5DATATYPE_H
29 #define CASA_HDF5DATATYPE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/HDF5/HDF5Object.h>
34 #include <casacore/casa/HDF5/HDF5HidMeta.h>
35 #include <casacore/casa/BasicSL/Complex.h>
36 #include <casacore/casa/BasicSL/String.h>
37 #include <casacore/casa/Utilities/DataType.h>
44 template<
typename T>
class Block;
129 const std::vector<HDF5DataType>& types);
HDF5DataType(const Short *)
HDF5DataType(const HDF5DataType &, const IPosition &shape)
Create an array of the given data type.
HDF5DataType(const Bool *)
Create an HDF5 datatype object for the given fixed length type.
void addToCompound(const char *name, uInt offset, const HDF5DataType &dtype)
Add a field to a compound data type.
HDF5DataType(const DComplex *)
~HDF5DataType()
The destructor closes the HDF5 data type object.
HDF5DataType(const uInt *)
HDF5DataType(const std::vector< String > &names, const std::vector< HDF5DataType > &types)
Define a compound data type consisting of the given fields and types.
HDF5HidDataType itsHidFile
static IPosition toShape(const Block< hsize_t > &b)
HDF5HidDataType itsHidMem
HDF5DataType & operator=(const HDF5DataType &that)
Assignment makes a deep copy.
HDF5DataType(Int, Int)
Create an HDF5 datatype object for an empty array.
static Bool isComplex(hid_t dtid)
Test if the data type is Complex or DComplex.
hid_t getHidMem() const
Get the HID for the data type in memory.
HDF5DataType(const Complex *)
static Block< hsize_t > fromShape(const IPosition &shape)
Helper functions to convert shapes.
HDF5DataType(const Int *)
HDF5DataType(const String &value)
Create an HDF5 datatype object for a scalar string.
HDF5DataType(const Int64 *)
hid_t getHidFile() const
Get the HID for the data type in the file.
HDF5DataType(const String *)
HDF5DataType(const HDF5DataType &that)
The copy constructor makes a deep copy.
HDF5DataType(const Double *)
uInt size() const
Get the size in bytes of the data type (in memory).
static Bool isEmptyArray(hid_t dtid)
Test if the data type is an empty array.
HDF5DataType()
The default constructor makes an invalid object.
static DataType getDataType(hid_t)
Get the Casacore data type for the given HDF5 data type.
HDF5DataType(const uShort *)
static IPosition getShape(hid_t dtid)
Get the shape of an array data type.
HDF5DataType(const uChar *)
HDF5DataType(const Float *)
A class representing an HDF5 datatype hid.
String: the storage and methods of handling collections of characters.
std::complex< Float > Complex
std::complex< Double > DComplex
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
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.