28 #ifndef TABLES_COLUMNDESC_H
29 #define TABLES_COLUMNDESC_H
327 void show (ostream& os)
const;
const IPosition & shape() const
Get the predefined shape.
A Vector of integers, for indexing into Array<T> objects.
const TableRecord & keywordSet() const
Int ndim() const
Get the number of dimensions.
Bool isArray() const
Test if column is an array.
void setOptions(int options)
Set the options to the given value.
void setShape(const IPosition &shape)
Set the predefined shape.
const TableDesc * tableDesc() const
Get table description (in case column contains subtables).
BaseColumnDesc * colPtr_p
friend AipsIO & operator<<(AipsIO &ios, const ColumnDesc &cd)
Write into AipsIO.
AipsIO is the object persistency mechanism of Casacore.
String & dataManagerType()
Get the type name of the default data manager (allowing it to be changed).
String & comment()
Get comment string (allowing it to be changed).
virtual ConcatColumn * makeConcatColumn(ConcatTable *) const
Make a ConcatColumn object out of the description.
void setMaxLength(uInt maxLength)
Set the maximum value length.
An abstract base class for table column descriptions.
const TableDesc * tableDesc() const
Get table description (in case column contains subtables).
void setNdim(uInt ndim)
Set the number of dimensions.
Envelope class for the description of a table column.
Bool operator!=(const ColumnDesc &) const
void putFile(AipsIO &ios, const TableAttr &) const
Store the object in AipsIO.
void handleRemove(ColumnDescSet &cds)
const String & comment() const
Get comment string.
const String & dataManagerType() const
Get the type name of the default data manager.
static void registerCtor(const String &name, ColumnDescCtor *func)
Register a "XXColumnDesc" constructor (thread-safe).
Int ndim() const
Get the number of dimensions.
void setShape(const IPosition &shape, Bool directOption)
Class to manage a set of table columns.
DataType dataType() const
Get the data type of the column.
virtual void handleRename(ColumnDescSet &cds, const String &oldName)
void setName(const String &name)
Set the name of the column (for a rename).
const String & dataTypeId() const
Get the type id for non-standard data types (i.e.
void handleAdd(ColumnDescSet &cds)
Take action after a column has been handled by ColumnDescSet.
const String & dataManagerType() const
Get the type name of the default data manager.
const String & comment() const
Get comment string.
uInt maxLength() const
Get the maximum value length.
void renameAction(const String &newName, const String &oldName)
This function allows each column to act upon a rename of another column.
const String & dataManagerGroup() const
Get the data manager group.
const String & dataTypeId() const
Get the type id for non-standard data types (i.e.
void setOptions(Int options)
Set the options to the given value.
virtual PlainColumn * makeColumn(ColumnSet *) const =0
Make a PlainColumn object out of the description.
void setNdim(uInt ndim)
Set the number of dimensions.
static std::map< String, ColumnDescCtor * > initRegisterMap()
Register the main data managers.
friend AipsIO & operator>>(AipsIO &ios, ColumnDesc &cd)
Read from AipsIO.
String & dataManagerGroup()
Get the data manager group.
const IPosition & shape() const
Get the predefined shape.
RefColumn * makeRefColumn(RefTable *, BaseColumn *) const
Make a RefColumn object out of the description.
Class for a table as a view of another table.
void checkAdd(const ColumnDescSet &cds) const
Check if a column can be handled by ColumnDescSet.
ColumnDesc & operator=(const ColumnDesc &that)
Assignment (copy semantics).
Bool isTable() const
Test if column is a table.
void checkRename(const ColumnDescSet &cds, const String &newName) const
Check when a column gets renamed in a table description.
void show() const
Show the column on cout.
TableRecord & rwKeywordSet()
Get access to the set of keywords.
Int options() const
Get the options.
BaseColumnDesc * ColumnDescCtor(const String &className)
Define the type of a XXColumnDesc construction function.
ColumnDesc()
Default constructor (needed for ColumnDescSet).
Set of table column descriptions.
const String & dataManagerGroup() const
Get the data manager group.
Bool operator==(const ColumnDesc &) const
Comparison.
TableRecord & rwKeywordSet()
Get access to the set of keywords.
undefined values are possible
void setName(const String &name)
Set the name of the column.
void handleRename(ColumnDescSet &cds, const String &oldName)
bool Bool
Define the standard types used by Casacore.
void setDefaultDataManager(Bool always=True)
If always==True they are always set, otherwise only if empty.
void setDefaultDataManager(Bool always)
Set the data manager type and group to the default.
void setMaxLength(uInt maxLength)
Set the maximum value length.
RefColumn * makeRefColumn(RefTable *rtp, BaseColumn *bcp) const
Create a RefColumn column object out of this column description.
A hierarchical collection of named fields of various types.
void getFile(AipsIO &, const TableAttr &)
Get the object from AipsIO.
void setShape(const IPosition &shape)
Set the predefined shape.
Base class for a column in a plain table.
const TableRecord & keywordSet() const
virtual void handleRemove(ColumnDescSet &cds)
static ColumnDescCtor * getCtor(const String &name)
Get a construction function for a XXColumnDesc object (thread-safe).
DataType trueDataType() const
Get the true data type of the column.
int options() const
Get the options.
Bool isScalar() const
Test if column is scalar, array or table.
const String & name() const
Get the name of the column.
virtual void handleAdd(ColumnDescSet &cds)
Take action after a column has been handled by ColumnDescSet.
virtual void checkAdd(const ColumnDescSet &cds) const
Check if a column can be handled by ColumnDescSet.
String: the storage and methods of handling collections of characters.
uInt maxLength() const
Get the maximum value length.
Define the structure of a Casacore table.
virtual void renameAction(const String &newName, const String &oldName)
This function allows each column to act upon a rename of another column.
PlainColumn * makeColumn(ColumnSet *csp) const
Create a PlainColumn column object out of this column description.
Bool isFixedShape() const
Check if the column is defined with a fixed shape.
DataType dataType() const
Get the data type of the column.
static std::map< String, ColumnDescCtor * > & getRegisterMap()
Define a map which maps the name of the various XXColumnDesc classes to a static function constructin...
Class to view a concatenation of tables as a single table.
Some attributes of a table.
virtual void checkRename(const ColumnDescSet &cds, const String &newName) const
static std::mutex theirMutex
A mutex for additions to the constructor map.
A column in a concatenated table.
Option
Enumerate the possible column options.
Bool isScalar() const
Test if column is a scalar.
A column in a reference table.
ConcatColumn * makeConcatColumn(ConcatTable *rtp) const
Create a ConcatColumn column object out of this column description.
Abstract base class for a table column.