28 #ifndef TABLES_TABLEDESC_H
29 #define TABLES_TABLEDESC_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/Tables/ColDescSet.h>
35 #include <casacore/casa/IO/AipsIO.h>
36 #include <casacore/casa/iosfwd.h>
37 #include <casacore/casa/Arrays/ArrayFwd.h>
482 const String& hypercolumnName);
537 {
return col_p[name]; }
539 {
return col_p[name]; }
541 {
return col_p[index]; }
543 {
return col_p[index]; }
545 {
return col_p[name]; }
547 {
return col_p[index]; }
uInt ncolumn() const
Get nr of columns in this set.
void checkSubTableDesc() const
Check recursevily if the descriptions of all subtables are known.
void remove(const String &name)
Remove a column.
Bool isDefined(const String &name) const
Test if a column is defined in this set.
ColumnDesc & addColumn(const ColumnDesc &)
Add a column.
String: the storage and methods of handling collections of characters.
void checkSubTableDesc() const
Check recursively if the descriptions of all subtables are known.
uInt ncolumn() const
Get number of columns.
void add(const TableDesc &other, Bool addKeywordSet=True)
Add another table description to this table description.
void adjustHypercolumns(const std::map< String, String > &old2new, Bool keepUnknownData=False, Bool keepUnknownCoord=False, Bool keppUnknownId=False)
Adjust the hypercolumn definitions (for a RefTable).
void removeIDhypercolumns(const Vector< String > &hcNames)
Remove ID-columns from the given hypercolumn definitions and set their default data manager type to I...
Bool isHypercolumn(const String &hypercolumnName) const
Test if the given hypercolumn exists.
~TableDesc()
The destructor writes the table description if changed.
void renameColumn(const String &newname, const String &oldname)
Rename a column.
void copy(const TableDesc &, const TabPath &, Bool copyColumns)
Initialize and copy a table description.
const TableRecord & privateKeywordSet() const
Get readonly access to the private set of keywords.
const String & comment() const
Get comment string.
void renameHypercolumn(const String &newHypercolumnName, const String &hypercolumnName)
ColumnDesc & rwColumnDesc(const String &name)
Vector< String > columnNames() const
Get a vector containing all column names.
TableDesc(const TableDesc &, const String &type, const String &version, const TabPath &, TDOption, Bool copyColumns=True)
Create a table description object with the given name (i.e.
uInt hypercolumnDesc(const String &hypercolumnName, Vector< String > &dataColumnNames, Vector< String > &coordColumnNames, Vector< String > &idColumnNames) const
Get the columns involved in a hypercolumn.
TableDesc(const String &type, const String &version, const TabPath &, TDOption=Old)
Create a table description object.
Bool isColumn(const String &name) const
Test if a column with this name exists.
static Bool isReadable(const String &tableDescName)
Test if a description file exists (i.e.
TableRecord & rwKeywordSet()
Get access to the keyword set.
void getFile(AipsIO &, const TableAttr &)
Get the table description from the file.
void show(ostream &os) const
Show the table description.
void show() const
Show the table description on cout.
ColumnDesc & addColumn(const ColumnDesc &)
Add a column to the table description.
void init(const TabPath &)
Initialize the table description.
void defineHypercolumn(const String &hypercolumnName, uInt ndim, const Vector< String > &dataColumnNames)
Define a hypercolumn.
const ColumnDescSet & columnDescSet() const
Get access to the set of column descriptions.
void removeHypercolumnDesc(const String &hypercolumnName)
Remove given hypercolumn definition.
TableDesc(const TableDesc &, const String &type, const String &version, TDOption, Bool copyColumns=True)
Create a table description object with the given name (i.e.
Vector< String > hypercolumnNames() const
Get the names of all hypercolumns.
void putFile(AipsIO &, const TableAttr &) const
Put the table description into the file.
const TableRecord & keywordSet() const
const String & getType() const
Get the table type (i.e.
TableDesc & operator=(const TableDesc &)
Assignment is not supported, because it is impossible to define its semantics.
TableDesc(const TableDesc &, TDOption=Scratch)
This copy constructor makes a copy of the table description maintaining its name and version.
void removeColumn(const String &name)
Remove a column.
TableDesc(const String &type, const String &version, TDOption=Old)
Create a table description object with the given name (i.e.
void throwHypercolumn(const String &hyperColumnName, const String &message)
Throw an invalid hypercolumn exception.
const ColumnDesc & columnDesc(const String &name) const
Get the column description by name or by index.
const String & version() const
Get the table description version.
TableDesc()
The default constructor creates a table description with option = Scratch and a blank name.
TableDesc(const String &type, TDOption=Old)
Create a table description object with the given name.
const ColumnDesc & operator[](const String &name) const
this file contains all the compiler specific defines
LatticeExprNode ndim(const LatticeExprNode &expr)
1-argument function to get the dimensionality of a lattice.
bool Bool
Define the standard types used by Casacore.