casa
$Rev:20696$
|
An Indirect String Array Column in the Standard Storage Manager. More...
#include <SSMIndStringColumn.h>
Public Member Functions | |
SSMIndStringColumn (SSMBase *aParent, int aDataType, uInt aColNr) | |
Create a SSMIndStringColumn object with the given parent. | |
virtual | ~SSMIndStringColumn () |
virtual void | getArrayStringV (uInt rownr, Array< String > *dataPtr) |
Get an array value in the given row. | |
virtual void | putArrayStringV (uInt rownr, const Array< String > *dataPtr) |
Put an array value in the given row. | |
void | setShape (uInt aRowNr, const IPosition &aShape) |
Set the shape of the array in the given row. | |
virtual IPosition | shape (uInt aRowNr) |
Get the shape of the array in the given row. | |
Bool | canChangeShape () const |
This storage manager can handle changing array shapes. | |
virtual Bool | isShapeDefined (uInt aRowNr) |
Is the shape defined (i.e. | |
virtual uInt | ndim (uInt aRowNr) |
Get the dimensionality of the item in the given row. | |
Private Member Functions | |
SSMIndStringColumn (const SSMIndStringColumn &) | |
Forbid copy constructor. | |
SSMIndStringColumn & | operator= (const SSMIndStringColumn &) |
Forbid assignment. |
An Indirect String Array Column in the Standard Storage Manager.
Internal
SSMIndStringColumn represents an Indirect String Array Column in the Standard Storage Manager.
SSMIndStringColumn handles indirect variable shaped string arrays. Note that indirect fixed shape string arrays are handled by SSMDirColumn .
All string array access is handled by class SSMStringHandler , so SSMIndStringColumn is merely an interface to this class. The only thing it does is accessing the bucketnr, offset, and length in the data bucket.
The reason that indirect string arrays are handled here instead of in SSMIndColumn is that the string buckets are more disk space efficient when string arrays are frequently updated.
Definition at line 86 of file SSMIndStringColumn.h.
casa::SSMIndStringColumn::SSMIndStringColumn | ( | SSMBase * | aParent, |
int | aDataType, | ||
uInt | aColNr | ||
) |
Create a SSMIndStringColumn object with the given parent.
It initializes the various variables. It keeps the pointer to its parent (but does not own it).
virtual casa::SSMIndStringColumn::~SSMIndStringColumn | ( | ) | [virtual] |
casa::SSMIndStringColumn::SSMIndStringColumn | ( | const SSMIndStringColumn & | ) | [private] |
Forbid copy constructor.
Bool casa::SSMIndStringColumn::canChangeShape | ( | ) | const [virtual] |
This storage manager can handle changing array shapes.
Reimplemented from casa::DataManagerColumn.
virtual void casa::SSMIndStringColumn::getArrayStringV | ( | uInt | rownr, |
Array< String > * | dataPtr | ||
) | [virtual] |
Get an array value in the given row.
An exception is thrown if no array is defined in this row.
Reimplemented from casa::SSMDirColumn.
virtual Bool casa::SSMIndStringColumn::isShapeDefined | ( | uInt | aRowNr | ) | [virtual] |
Is the shape defined (i.e.
is there an array) in this row?
Reimplemented from casa::DataManagerColumn.
virtual uInt casa::SSMIndStringColumn::ndim | ( | uInt | aRowNr | ) | [virtual] |
Get the dimensionality of the item in the given row.
Reimplemented from casa::SSMColumn.
SSMIndStringColumn& casa::SSMIndStringColumn::operator= | ( | const SSMIndStringColumn & | ) | [private] |
Forbid assignment.
virtual void casa::SSMIndStringColumn::putArrayStringV | ( | uInt | rownr, |
const Array< String > * | dataPtr | ||
) | [virtual] |
Put an array value in the given row.
Reimplemented from casa::SSMDirColumn.
void casa::SSMIndStringColumn::setShape | ( | uInt | aRowNr, |
const IPosition & | aShape | ||
) | [virtual] |
Set the shape of the array in the given row.
Reimplemented from casa::DataManagerColumn.
virtual IPosition casa::SSMIndStringColumn::shape | ( | uInt | aRowNr | ) | [virtual] |
Get the shape of the array in the given row.
Reimplemented from casa::SSMColumn.