1#ifndef CASACORE_UVW_STORAGE_MANAGER_H_
2#define CASACORE_UVW_STORAGE_MANAGER_H_
4#include <casacore/tables/DataMan/DataManager.h>
6#include <casacore/casa/Containers/Record.h>
56 throw std::runtime_error(
57 "makeScalarColumn() called on a UvwStMan. UvwStMan can only make array "
62 const String &dataTypeID)
final;
66 throw std::runtime_error(
67 "makeIndArrColumn() called on a UvwStMan. UvwStMan can only make "
Abstract base class for a data manager.
String: the storage and methods of handling collections of characters.
Stores values of a UVW column in a compressed way.
A storage manager that saves the UVW with (lossless) compression.
UvwStMan(const UvwStMan &source)
The columns are not copied: the new manager will be empty.
DataManagerColumn * makeScalarColumn(const String &, int, const String &) final
Create a column in the data manager on behalf of a table column.
void prepare() final
Prepare is called after create/open has been called for all columns.
void create64(rownr_t nRow) final
Let the data manager initialize itself for a new table.
rownr_t open64(rownr_t nRow, AipsIO &) final
Let the data manager initialize itself for an existing table.
String dataManagerType() const final
Return the type name of the data manager (in fact its class name).
rownr_t resync64(rownr_t nRow) final
Resync the data by rereading cached data from the file.
void removeColumn(DataManagerColumn *) final
Remove a column from the data file.
std::unique_ptr< UvwStManColumn > column_
static DataManager * makeObject(const String &name, const Record &spec)
void reopenRW() final
Reopen the storage manager files for read/write.
Bool flush(AipsIO &, Bool) final
Flush and optionally fsync the data.
void deleteManager() final
The data manager will be deleted (because all its columns are requested to be deleted).
Record dataManagerSpec() const final
Return a record containing data manager specifications.
DataManager * clone() const final
Make a clone of the derived object.
void removeRow64(rownr_t row_nr) final
Delete a row from all columns.
void addColumn(DataManagerColumn *) final
Do the final addition of a column.
DataManagerColumn * makeDirArrColumn(const String &name, int dataType, const String &dataTypeID) final
Create a direct array column.
UvwStMan(const String &, const Record &)
void addRow64(rownr_t nrrow) final
Add rows to the storage manager.
DataManagerColumn * makeIndArrColumn(const String &, int, const String &) final
Create an indirect array column.
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.