casacore
|
Templated class to define columns of scalars in tables. More...
#include <ScaColData.h>
Public Member Functions | |
ScalarColumnDesc (const String &name, int options=0) | |
Construct the column with the given name. More... | |
ScalarColumnDesc (const String &name, const String &comment, int options=0) | |
Construct the column with the given name and comment. More... | |
ScalarColumnDesc (const String &name, const String &comment, const String &dataManName, const String &dataManGroup, int options=0) | |
Construct the column with the given name, comment, and default data manager type and group. More... | |
ScalarColumnDesc (const String &name, const String &comment, const String &dataManName, const String &dataManGroup, const T &defaultValue, int options=0) | |
Construct the column with the given name, comment, default data manager type and group, and default value. More... | |
ScalarColumnDesc (const ScalarColumnDesc< T > &) | |
Copy constructor (copy semantics);. More... | |
~ScalarColumnDesc () | |
ScalarColumnDesc< T > & | operator= (const ScalarColumnDesc< T > &) |
Assignment (copy semantics);. More... | |
BaseColumnDesc * | clone () const |
Clone this column description. More... | |
String | className () const |
Get the name of this class. More... | |
void | setDefault (const T &defaultValue) |
Set the default value. More... | |
const T & | defaultValue () const |
Get the default value. More... | |
virtual PlainColumn * | makeColumn (ColumnSet *) const |
Create a Column object out of this. More... | |
virtual ConcatColumn * | makeConcatColumn (ConcatTable *) const |
Make a ConcatColumn object out of the description. More... | |
void | show (ostream &os) const |
Show the column. More... | |
void | registerClass () const |
Register the construction function of this class. More... | |
Public Member Functions inherited from casacore::BaseColumnDesc | |
BaseColumnDesc (const String &name, const String &comment, const String &dataManagerType, const String &dataManagerGroup, DataType, const String &dataTypeId, Int options, uInt ndim, const IPosition &shape, Bool isScalar, Bool isArray, Bool isTable) | |
Construct the column base object. More... | |
BaseColumnDesc (const BaseColumnDesc &) | |
Copy constructor (copy semantics). More... | |
virtual | ~BaseColumnDesc () |
TableRecord & | rwKeywordSet () |
Get access to the set of keywords. More... | |
const TableRecord & | keywordSet () const |
const String & | name () const |
Get the name of the column. More... | |
DataType | dataType () const |
Get the data type of the column. More... | |
const String & | dataTypeId () const |
Get the type id for non-standard data types (i.e. More... | |
const String & | dataManagerType () const |
Get the type name of the default data manager. More... | |
String & | dataManagerType () |
Get the type name of the default data manager. More... | |
const String & | dataManagerGroup () const |
Get the data manager group. More... | |
String & | dataManagerGroup () |
Get the data manager group. More... | |
void | setDefaultDataManager (Bool always) |
Set the data manager type and group to the default. More... | |
const String & | comment () const |
Get comment string. More... | |
String & | comment () |
Get comment string (allowing it to be changed). More... | |
Int | options () const |
Get the options. More... | |
Bool | isScalar () const |
Test if column is scalar, array or table. More... | |
Bool | isArray () const |
Bool | isTable () const |
Int | ndim () const |
Get the number of dimensions. More... | |
const IPosition & | shape () const |
Get the predefined shape. More... | |
void | setNdim (uInt ndim) |
Set the number of dimensions. More... | |
void | setShape (const IPosition &shape) |
Set the predefined shape. More... | |
void | setShape (const IPosition &shape, Bool directOption) |
void | setOptions (Int options) |
Set the options to the given value. More... | |
uInt | maxLength () const |
Get the maximum value length. More... | |
void | setMaxLength (uInt maxLength) |
Set the maximum value length. More... | |
const TableDesc * | tableDesc () const |
Get table description (in case column contains subtables). More... | |
virtual TableDesc * | tableDesc () |
void | setName (const String &name) |
Set the name of the column (for a rename). More... | |
Static Public Member Functions | |
static BaseColumnDesc * | makeDesc (const String &name) |
Create the object from AipsIO (this function is registered). More... | |
Private Member Functions | |
virtual void | putDesc (AipsIO &) const |
Put the object. More... | |
virtual void | getDesc (AipsIO &) |
Get the object. More... | |
Private Attributes | |
T | defaultVal_p |
Friends | |
class | ColumnDesc |
Additional Inherited Members | |
Protected Member Functions inherited from casacore::BaseColumnDesc | |
BaseColumnDesc & | operator= (const BaseColumnDesc &) |
Assignment (copy semantics). More... | |
void | putFile (AipsIO &, const TableAttr &) const |
Put the object. More... | |
void | getFile (AipsIO &, const TableAttr &) |
Get the object. More... | |
RefColumn * | makeRefColumn (RefTable *, BaseColumn *) const |
Make a RefColumn object out of the description. More... | |
Protected Attributes inherited from casacore::BaseColumnDesc | |
String | colName_p |
String | comment_p |
String | dataManType_p |
String | dataManGroup_p |
DataType | dtype_p |
String | dtypeId_p |
Int | option_p |
Int | nrdim_p |
IPosition | shape_p |
uInt | maxLength_p |
TableRecord * | keySetPtr_p |
Bool | isScalar_p |
Bool | isArray_p |
Bool | isTable_p |
Templated class to define columns of scalars in tables.
Public interface
This class builds descriptions of table columns where each cell (which may also be called a row) will hold a scalar value.
ScalarColumnDesc is a templated class for defining a table column containing scalar values. Note that class ScalarRecordColumnDesc has to be used to define the description of a column containing records.
The table values are handled by a data manager. This can be a storage manager to store the values in a file or it can be a virtual column engine to calculate them on-the-fly. Only the basic data types are allowed when storing in a file. These are: Bool, uChar, Short, uShort, Int, uInt, Int64, float, double, Complex, DComplex and String.
At table creation time (when a table gets created from a table description), each column needs to be bound to a data manager. If not done explicitly, the table system will bind a column to the default data manager defined in the column description.
A scalar column description consists of the following attributes:
There are several constructors, which allow to define most of the above mentioned attributes. Others, like the default keyword set, have to be defined explicitly.
This class is derived from BaseColumnDesc, thus the functions in there also apply to this class.
Once a column description is setup satisfactorily, it must be added to a table description before it can be used by the table system.
Several column description classes are needed to allow the user to define attributes which are special for each column type. For scalars the special attribute is the default value. They all have to be templated to support arbitrary data types.
static String dataTypeId(); // (not needed for builtin types)
This should return the unique "name" of the class. Definition at line 40 of file ScaColData.h.
|
explicit |
Construct the column with the given name.
The data manager type defaults to the StandardStMan storage manager. The data manager group defaults to the data manager type. The possible options are defined in ColumnDesc.h.
casacore::ScalarColumnDesc< T >::ScalarColumnDesc | ( | const String & | name, |
const String & | comment, | ||
int | options = 0 |
||
) |
Construct the column with the given name and comment.
The data manager type defaults to the StandardStMan storage manager. The data manager group defaults to the data manager type. The possible options are defined in ColumnDesc.h.
casacore::ScalarColumnDesc< T >::ScalarColumnDesc | ( | const String & | name, |
const String & | comment, | ||
const String & | dataManName, | ||
const String & | dataManGroup, | ||
int | options = 0 |
||
) |
Construct the column with the given name, comment, and default data manager type and group.
A blank data manager group defaults to the data manager type. The possible options are defined in ColumnDesc.h.
casacore::ScalarColumnDesc< T >::ScalarColumnDesc | ( | const String & | name, |
const String & | comment, | ||
const String & | dataManName, | ||
const String & | dataManGroup, | ||
const T & | defaultValue, | ||
int | options = 0 |
||
) |
Construct the column with the given name, comment, default data manager type and group, and default value.
A blank data manager group defaults to the data manager type. The possible options are defined in ColumnDesc.h.
casacore::ScalarColumnDesc< T >::ScalarColumnDesc | ( | const ScalarColumnDesc< T > & | ) |
Copy constructor (copy semantics);.
casacore::ScalarColumnDesc< T >::~ScalarColumnDesc | ( | ) |
|
virtual |
Get the name of this class.
It is used by the registration process. The template argument gets part of the name.
Implements casacore::BaseColumnDesc.
|
virtual |
Clone this column description.
Implements casacore::BaseColumnDesc.
|
inline |
Get the default value.
Definition at line 217 of file ScaColDesc.h.
References casacore::ScalarColumnDesc< T >::defaultVal_p.
Referenced by casacore::ScalarColumnDesc< T >::setDefault().
|
privatevirtual |
Get the object.
Implements casacore::BaseColumnDesc.
|
virtual |
Create a Column object out of this.
This is used by class ColumnSet to construct a table column object.
Implements casacore::BaseColumnDesc.
|
virtual |
Make a ConcatColumn object out of the description.
Reimplemented from casacore::BaseColumnDesc.
|
static |
Create the object from AipsIO (this function is registered).
ScalarColumnDesc<T>& casacore::ScalarColumnDesc< T >::operator= | ( | const ScalarColumnDesc< T > & | ) |
Assignment (copy semantics);.
|
privatevirtual |
Put the object.
Implements casacore::BaseColumnDesc.
void casacore::ScalarColumnDesc< T >::registerClass | ( | ) | const |
Register the construction function of this class.
|
inline |
Set the default value.
Definition at line 213 of file ScaColDesc.h.
References casacore::ScalarColumnDesc< T >::defaultVal_p, and casacore::ScalarColumnDesc< T >::defaultValue().
|
virtual |
Show the column.
Implements casacore::BaseColumnDesc.
|
friend |
Definition at line 165 of file ScaColDesc.h.
|
private |
Definition at line 237 of file ScaColDesc.h.
Referenced by casacore::ScalarColumnDesc< T >::defaultValue(), and casacore::ScalarColumnDesc< T >::setDefault().