1#ifndef CASACORE_SISCO_ST_MAN_H_
2#define CASACORE_SISCO_ST_MAN_H_
4#include <casacore/tables/DataMan/DataManager.h>
8#ifndef DOXYGEN_SHOULD_SKIP_THIS
12#ifndef DOXYGEN_SHOULD_SKIP_THIS
void register_siscostman()
Abstract base class for a data manager.
DataManager()
Default constructor.
Base class for columns of the StokesIStMan.
void addRow64(casacore::rownr_t nrrow) final
Add rows to the storage manager.
void deleteManager() final
The data manager will be deleted (because all its columns are requested to be deleted).
casacore::rownr_t open64(casacore::rownr_t nRow, casacore::AipsIO &) final
Open the storage manager file for an existing table.
bool canRemoveRow() const final
Does the data manager allow to delete rows?
SiscoStMan(const SiscoStMan &source)
Copy constructor that initializes a storage manager with similar specs.
friend class SiscoStManColumn
casacore::DataManagerColumn * makeDirArrColumn(const casacore::String &name, int dataType, const casacore::String &dataTypeID) final
Create a direct array column.
casacore::DataManagerColumn * makeIndArrColumn(const casacore::String &name, int dataType, const casacore::String &dataTypeID) final
Create an indirect array column.
void removeRow64(casacore::rownr_t row_nr) final
Delete a row from all columns.
casacore::Record dataManagerSpec() const final
Return a record containing data manager specifications.
void addColumn(casacore::DataManagerColumn *) final
Do the final addition of a column.
casacore::rownr_t resync64(casacore::rownr_t nRow) final
Resync the data by rereading cached data from the file.
void removeColumn(casacore::DataManagerColumn *) final
Remove a column from the data file.
casacore::Bool flush(casacore::AipsIO &, casacore::Bool doFsync) final
Flush and optionally fsync the data.
static void registerClass()
This function makes the SiscoStMan known to Casacore.
std::unique_ptr< SiscoStManColumn > column_
The item-type needs to be a pointer, because casacore::StManColumn does not have move construct/assig...
bool canAddColumn() const final
Does the data manager allow to add columns?
casacore::String dataManagerType() const final
Return the type name of the data manager (in fact its class name).
void prepare() final
Prepare the columns, let the data manager initialize itself further.
casacore::DataManagerColumn * makeScalarColumn(const casacore::String &name, int dataType, const casacore::String &dataTypeID) final
Create a column in the storage manager on behalf of a table column.
void reopenRW() final
Reopen the storage manager files for read/write.
bool canRemoveColumn() const final
Does the data manager allow to delete columns?
casacore::DataManager * clone() const final
Make a clone of the derived object.
SiscoStMan(const casacore::String &name, const casacore::Record &spec)
This constructor is called by Casacore when it needs to create a SiscoStMan.
bool canAddRow() const final
Does the data manager allow to add rows?
static casacore::DataManager * makeObject(const casacore::String &name, const casacore::Record &spec)
Create an object with given name and spec.
void create64(casacore::rownr_t nRow) final
Let the storage manager create files as needed for a new table.
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.
this file contains all the compiler specific defines
String name() const
Return the name of the field.
uInt64 rownr_t
Define the type of a row number in a table.
DataType dataType(const RecordFieldId &) const
Define real & complex conjugation for non-complex types and put comparisons into std namespace.