26#ifndef TABLES_STMANAIPSIO_H
27#define TABLES_STMANAIPSIO_H
31#include <casacore/casa/aips.h>
32#include <casacore/tables/DataMan/MSMBase.h>
33#include <casacore/tables/DataMan/MSMColumn.h>
34#include <casacore/casa/Containers/Block.h>
35#include <casacore/casa/BasicSL/Complex.h>
36#include <casacore/casa/Arrays/IPosition.h>
37#include <casacore/casa/BasicSL/String.h>
38#include <casacore/casa/Utilities/DataType.h>
39#include <casacore/casa/IO/ByteIO.h>
269 const String& dataTypeID);
272 const String& dataTypeID);
275 const String& dataTypeID);
OpenOption
Define the possible ByteIO open options.
Abstract base class for a data manager.
AipsIO table storage manager class.
virtual rownr_t open64(rownr_t nrrow, AipsIO &)
Open the storage manager file for an existing table and read in the data and let the StManColumnAipsI...
virtual void deleteManager()
The data manager will be deleted (because all its columns are requested to be deleted).
StManAipsIO()
Create an AipsIO storage manager.
StManArrayFile * iosfile_p
The file containing the indirect arrays.
StManAipsIO & operator=(const StManAipsIO &)=delete
Forbid assignment.
virtual rownr_t resync64(rownr_t nrrow)
Resync the storage manager with the new file contents.
virtual Bool flush(AipsIO &, Bool fsync)
Flush and optionally fsync the data.
DataManagerColumn * makeDirArrColumn(const String &name, int dataType, const String &dataTypeID)
Create a direct array column.
uInt uniqnr_p
Unique nr for column in this storage manager.
StManAipsIO(const String &storageManagerName)
Create an AipsIO storage manager with the given name.
DataManagerColumn * makeIndArrColumn(const String &name, int dataType, const String &dataTypeID)
Create an indirect array column.
virtual void create64(rownr_t nrrow)
Let the storage manager create files as needed for a new table.
virtual String dataManagerType() const
Get the type name of the data manager (i.e.
uInt uniqueNr()
Get a unique column number for the column (it is only unique for this storage manager).
StManArrayFile * openArrayFile(ByteIO::OpenOption opt)
Open (if needed) the file for indirect arrays with the given mode.
StManAipsIO(const StManAipsIO &)=delete
Forbid copy constructor.
virtual DataManager * clone() const
Clone this object.
DataManagerColumn * makeScalarColumn(const String &name, int dataType, const String &dataTypeID)
Create a column in the storage manager on behalf of a table column.
static DataManager * makeObject(const String &dataManagerType, const Record &spec)
Make the object from the string.
StManAipsIO(const String &storageManagerName, const Record &)
virtual void reopenRW()
Reopen the storage manager files for read/write.
virtual void putFile(rownr_t nrval, AipsIO &)
Write the column data into AipsIO.
virtual ~StManColumnAipsIO()
Frees up the storage.
StManColumnAipsIO(const StManColumnAipsIO &)=delete
Forbid copy constructor.
virtual void getFile(rownr_t nrval, AipsIO &)
Read the column data from AipsIO.
StManColumnAipsIO(StManAipsIO *stMan, int dataType, Bool byPtr)
Create a column of the given type.
virtual void getData(void *datap, uInt index, uInt nrval, AipsIO &, uInt version)
Get data (nrval elements) into an extension (starting at datap plus the given index).
StManColumnAipsIO & operator=(const StManColumnAipsIO &)=delete
Forbid assignment.
virtual void initData(void *datap, rownr_t nrval)
initData does not do anything (only used in MSMColumn).
virtual void putData(void *datap, uInt nrval, AipsIO &)
Put the data (nrval elements) in an extension (starting at datap) into AipsIO.
virtual int dataType() const
Return the data type of the column.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.