Loading...
Searching...
No Matches
casacore::TSMColumn Class Reference
tables package (libcasa_tables) » DataMan_module » DataMan_module_internal_classes

More...

`#include <TSMColumn.h>`

## Public Member Functions

| TSMColumn (TiledStMan *stman, int dataType, const String &columnName)
| Create a column of the given type.
virtual | ~TSMColumn ()
| Frees up the storage.
TSMColumn & | operator= (const TSMColumn &)=delete
| Forbid assignment.
const String & | columnName () const
| Get the name of the column.
virtual int | dataType () const
| Return the data type of the column.
void | setShapeColumn (const IPosition &shape)
| Set the fixed shape of the column.
const IPosition & | shapeColumn () const
| Get the fixed shape of the column.
TSMDataColumn * | makeDataColumn ()
| Make a TSM data column object.
TSMCoordColumn * | makeCoordColumn (uInt axesNumber)
| Make a TSM coordinate column object.
TSMIdColumn * | makeIdColumn ()
| Make a TSM id column object.
TSMColumn * | unlink ()
| Unlink the underlying column.
Public Member Functions inherited from casacore::StManColumnBase
| StManColumnBase (int dataType)
| Default constructor.
| ~StManColumnBase ()
| StManColumnBase (const StManColumnBase &)=delete
| The object cannot be copied.
StManColumnBase & | operator= (const StManColumnBase &)=delete
| The object cannot be assigned to.
DataType | dtype () const
Int | elemSize () const
| Return the size of an element of the column's data type.
Public Member Functions inherited from casacore::DataManagerColumn
| DataManagerColumn ()
| Create a column.
virtual | ~DataManagerColumn ()
| Frees up the storage.
| DataManagerColumn (const DataManagerColumn &)=delete
| The copy constructor cannot be used for this base class.
DataManagerColumn & | operator= (const DataManagerColumn &)=delete
| Assignment cannot be used for this base class.
void | setIsFixedShape (Bool isFixedShape)
| Set the isFixedShape flag.
Bool | isFixedShape () const
| Is this a fixed shape column?
virtual String | dataTypeId () const
| Get the data type id of the column for dataType==TpOther.
virtual Bool | isWritable () const
| Test if data can be put into this column.
virtual void | setMaxLength (uInt maxLength)
| Set the maximum length of the value (can be used for strings).
void | setFixedShapeColumn (const IPosition &shape)
| Set the shape of all (fixed-shaped) arrays in the column.
virtual void | setShape (rownr_t rownr, const IPosition &shape)
| Set the shape of an (variable-shaped) array in the given row.
virtual void | setShapeTiled (rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
| Set the shape and tile shape of an (variable-shaped) array in the given row.
virtual Bool | isShapeDefined (rownr_t rownr)
| Is the value shape defined in the given row?
virtual uInt | ndim (rownr_t rownr)
| Get the dimensionality of the item in the given row.
virtual IPosition | shape (rownr_t rownr)
| Get the shape of the item in the given row.
virtual IPosition | tileShape (rownr_t rownr)
| Get the tile shape of the item in the given row.
virtual Bool | canChangeShape () const
| Can the data manager handle chaging the shape of an existing array?
ColumnCache & | columnCache ()
| Get access to the ColumnCache object.
const ColumnCache * | columnCachePtr () const
void | get (rownr_t rownr, Bool *dataPtr)
| Get the scalar value in the given row.
void | get (rownr_t rownr, uChar *dataPtr)
void | get (rownr_t rownr, Short *dataPtr)
void | get (rownr_t rownr, uShort *dataPtr)
void | get (rownr_t rownr, Int *dataPtr)
void | get (rownr_t rownr, uInt *dataPtr)
void | get (rownr_t rownr, Int64 *dataPtr)
void | get (rownr_t rownr, float *dataPtr)
void | get (rownr_t rownr, double *dataPtr)
void | get (rownr_t rownr, Complex *dataPtr)
void | get (rownr_t rownr, DComplex *dataPtr)
void | get (rownr_t rownr, String *dataPtr)
void | get (rownr_t rownr, void *dataPtr)
| This function is the get for all non-standard data types.
void | put (rownr_t rownr, const Bool *dataPtr)
| Put the scalar value into the given row.
void | put (rownr_t rownr, const uChar *dataPtr)
void | put (rownr_t rownr, const Short *dataPtr)
void | put (rownr_t rownr, const uShort *dataPtr)
void | put (rownr_t rownr, const Int *dataPtr)
void | put (rownr_t rownr, const uInt *dataPtr)
void | put (rownr_t rownr, const Int64 *dataPtr)
void | put (rownr_t rownr, const float *dataPtr)
void | put (rownr_t rownr, const double *dataPtr)
void | put (rownr_t rownr, const Complex *dataPtr)
void | put (rownr_t rownr, const DComplex *dataPtr)
void | put (rownr_t rownr, const String *dataPtr)
void | put (rownr_t rownr, const void *dataPtr)
| This function is the put for all non-standard data types.
virtual void | getScalarColumnV (ArrayBase &dataPtr)
| Get all scalar values in the column.
virtual void | putScalarColumnV (const ArrayBase &dataPtr)
| Put all scalar values in the column.
virtual void | getScalarColumnCellsV (const RefRows &rownrs, ArrayBase &dataPtr)
| Get some scalar values in the column.
virtual void | putScalarColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr)
| Put some scalar values in the column.
virtual void | getArrayV (rownr_t rownr, ArrayBase &dataPtr)
| Get the array value in the given row.
virtual void | putArrayV (rownr_t rownr, const ArrayBase &data)
| Put the array value into the given row.
virtual void | getArrayColumnV (ArrayBase &data)
| Get all array values in the column.
virtual void | putArrayColumnV (const ArrayBase &data)
| Put all array values in the column.
virtual void | getArrayColumnCellsV (const RefRows &rownrs, ArrayBase &data)
| Get some array values in the column.
virtual void | putArrayColumnCellsV (const RefRows &rownrs, const ArrayBase &data)
| Put some array values in the column.
virtual void | getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &data)
| Get a section of the array in the given row.
virtual void | putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
| Put into a section of the array in the given row.
virtual void | getColumnSliceV (const Slicer &slicer, ArrayBase &data)
| Get a section of all arrays in the column.
virtual void | putColumnSliceV (const Slicer &slicer, const ArrayBase &data)
| Put into a section of all arrays in the column.
virtual void | getColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
| Get a section of some arrays in the column.
virtual void | putColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
| Put into a section of some arrays in the column.
void | throwGet () const
| Throw an "invalid operation" exception for the default implementation of get.
void | throwPut () const
| Throw an "invalid operation" exception for the default implementation of put.
void | setColumnName (const String &colName)
| Set the column name.
const String & | columnName () const
| Get rhe column name.

## Protected Member Functions

| TSMColumn (const TSMColumn &that)
| The copy constructor can only be used to copy a derived class.
Protected Member Functions inherited from casacore::DataManagerColumn
virtual void | getBool (rownr_t rownr, Bool *dataPtr)
| Get the scalar value in the given row.
virtual void | getuChar (rownr_t rownr, uChar *dataPtr)
virtual void | getShort (rownr_t rownr, Short *dataPtr)
virtual void | getuShort (rownr_t rownr, uShort *dataPtr)
virtual void | getInt (rownr_t rownr, Int *dataPtr)
virtual void | getuInt (rownr_t rownr, uInt *dataPtr)
virtual void | getInt64 (rownr_t rownr, Int64 *dataPtr)
virtual void | getfloat (rownr_t rownr, float *dataPtr)
virtual void | getdouble (rownr_t rownr, double *dataPtr)
virtual void | getComplex (rownr_t rownr, Complex *dataPtr)
virtual void | getDComplex (rownr_t rownr, DComplex *dataPtr)
virtual void | getString (rownr_t rownr, String *dataPtr)
virtual void | getOther (rownr_t rownr, void *dataPtr)
| This function is the get for all non-standard data types.
virtual void | putBool (rownr_t rownr, const Bool *dataPtr)
| Put the scalar value into the given row.
virtual void | putuChar (rownr_t rownr, const uChar *dataPtr)
virtual void | putShort (rownr_t rownr, const Short *dataPtr)
virtual void | putuShort (rownr_t rownr, const uShort *dataPtr)
virtual void | putInt (rownr_t rownr, const Int *dataPtr)
virtual void | putuInt (rownr_t rownr, const uInt *dataPtr)
virtual void | putInt64 (rownr_t rownr, const Int64 *dataPtr)
virtual void | putfloat (rownr_t rownr, const float *dataPtr)
virtual void | putdouble (rownr_t rownr, const double *dataPtr)
virtual void | putComplex (rownr_t rownr, const Complex *dataPtr)
virtual void | putDComplex (rownr_t rownr, const DComplex *dataPtr)
virtual void | putString (rownr_t rownr, const String *dataPtr)
virtual void | putOther (rownr_t rownr, const void *dataPtr)
| This function is the put for all non-standard data types.
void | getScalarColumnBase (ArrayBase &dataPtr)
| The default implementations of get and put functions.
void | putScalarColumnBase (const ArrayBase &dataPtr)
void | getScalarColumnCellsBase (const RefRows &rownrs, ArrayBase &dataPtr)
void | putScalarColumnCellsBase (const RefRows &rownrs, const ArrayBase &dataPtr)
void | getArrayColumnBase (ArrayBase &data)
void | putArrayColumnBase (const ArrayBase &data)
void | getArrayColumnCellsBase (const RefRows &rownrs, ArrayBase &data)
void | putArrayColumnCellsBase (const RefRows &rownrs, const ArrayBase &data)
void | getSliceBase (rownr_t rownr, const Slicer &slicer, ArrayBase &data)
void | putSliceBase (rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
void | getColumnSliceBase (const Slicer &slicer, ArrayBase &data)
void | putColumnSliceBase (const Slicer &slicer, const ArrayBase &data)
void | getColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
void | putColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)

## Protected Attributes

TiledStMan * | stmanPtr_p
| The storage manager.
int | dtype_p
| The data type of the data (as defined in DataType.h).
String | name_p
| The name of the column.
IPosition | columnShape_p
| The fixed shape of the column.
TSMColumn * | colPtr_p
| The specialized column object (i.e.

## Additional Inherited Members

Static Public Member Functions inherited from casacore::StManColumnBase
static Bool | isNativeDataType (int dtype)
| Test if the given data type is supported by storage managers.

## Detailed Description

A column in the Tiled Storage Manager

### Intended use:

Internal

### Review Status

Reviewed By:
  UNKNOWN
Date Reviewed:
  before2004/08/25

### Prerequisite

- StManColumn
- TiledStMan

### Etymology

TSMColumn handles a column for the Tiled Storage Manager.

### Synopsis

TSMColumn serves 2 purposes:

1. It is the initial object for all columns in TiledStMan.
2. It serves as a base class for the specialized TiledStMan column classes dealing with data, coordinates and id values.

The protocol used for creating the derived TSMDataColumn, TSMCoordColumn, and TSMIdColumn objects is somewhat complicated. It works as follows:
When the table is set up, a TSMColumn object gets created for all columns in a TiledStMan storage manager. The TiledStMan initialization function lets each TSMColumn object create its specialized TSMXXColumn object (using make{Coord,Id,Data}Column). At the end of the setup process the TSMColumn objects are deleted and the DataManagerColumn pointers in the BaseColumn objects get replaced by those to the specialized objects. In that way no needless virtual function calls are done.

### Motivation

TSMColumn is needed for the initial DataManagerColumn setup process. It is also useful as a base class for all TiledStMan column objects.

Definition at line 95 of file TSMColumn.h.

## Constructor & Destructor Documentation

## TSMColumn() [1/2]

casacore::TSMColumn::TSMColumn | ( | TiledStMan * | stman,
|  | int | dataType,
|  | const String & | columnName )

Create a column of the given type.

It will maintain a pointer to its parent storage manager.

References columnName(), and dataType().

Referenced by operator=(), TSMColumn(), casacore::TSMCoordColumn::TSMCoordColumn(), casacore::TSMDataColumn::TSMDataColumn(), casacore::TSMIdColumn::TSMIdColumn(), and unlink().

## ~TSMColumn()

virtual casacore::TSMColumn::~TSMColumn | ( |  | ) |

virtual

Frees up the storage.

## TSMColumn() [2/2]

casacore::TSMColumn::TSMColumn | ( | const TSMColumn & | that | ) |

protected

The copy constructor can only be used to copy a derived class.

References TSMColumn().

## Member Function Documentation

## columnName()

const String & casacore::TSMColumn::columnName | ( |  | ) | const

inline

Get the name of the column.

Definition at line 156 of file TSMColumn.h.

References name_p.

Referenced by TSMColumn().

## dataType()

virtual int casacore::TSMColumn::dataType | ( |  | ) | const

virtual

Return the data type of the column.

Reimplemented from casacore::StManColumnBase.

Referenced by TSMColumn().

## makeCoordColumn()

TSMCoordColumn * casacore::TSMColumn::makeCoordColumn | ( | uInt | axesNumber | ) |

Make a TSM coordinate column object.

## makeDataColumn()

TSMDataColumn * casacore::TSMColumn::makeDataColumn | ( |  | ) |

Make a TSM data column object.

Add the pixel length to the total data pixel length.

## makeIdColumn()

TSMIdColumn * casacore::TSMColumn::makeIdColumn | ( |  | ) |

Make a TSM id column object.

## operator=()

TSMColumn & casacore::TSMColumn::operator= | ( | const TSMColumn & |  | ) |

delete

Forbid assignment.

References TSMColumn().

## setShapeColumn()

void casacore::TSMColumn::setShapeColumn | ( | const IPosition & | shape | ) |

virtual

Set the fixed shape of the column.

Reimplemented from casacore::DataManagerColumn.

References casacore::shape().

## shapeColumn()

const IPosition & casacore::TSMColumn::shapeColumn | ( |  | ) | const

inline

Get the fixed shape of the column.

Definition at line 159 of file TSMColumn.h.

References columnShape_p.

## unlink()

TSMColumn * casacore::TSMColumn::unlink | ( |  | ) |

Unlink the underlying column.

It clears the pointer and returns its original value. This is used to get a pointer directly to the underlying TSMXXColumn object in the BaseColumn classes. In that way only 1 instead of 2 virtual function calls are needed for a get or put.

References TSMColumn().

## Member Data Documentation

## colPtr_p

TSMColumn* casacore::TSMColumn::colPtr_p

protected

The specialized column object (i.e.

data, coordinate or id).

Definition at line 149 of file TSMColumn.h.

## columnShape_p

IPosition casacore::TSMColumn::columnShape_p

protected

The fixed shape of the column.

Definition at line 147 of file TSMColumn.h.

Referenced by shapeColumn().

## dtype_p

int casacore::TSMColumn::dtype_p

protected

The data type of the data (as defined in DataType.h).

Definition at line 143 of file TSMColumn.h.

## name_p

String casacore::TSMColumn::name_p

protected

The name of the column.

Definition at line 145 of file TSMColumn.h.

Referenced by columnName().

## stmanPtr_p

TiledStMan* casacore::TSMColumn::stmanPtr_p

protected

The storage manager.

Definition at line 141 of file TSMColumn.h.

The documentation for this class was generated from the following file:

- tables/DataMan/TSMColumn.h