SSMIndStringColumn.h
Classes
- SSMIndStringColumn -- An Indirect String Array Column in the Standard Storage Manager. (full description)
Interface
- Public Members
- SSMIndStringColumn (SSMBase* aParent, int aDataType, uInt aColNr)
- virtual ~SSMIndStringColumn()
- virtual void getArrayStringV (uInt rownr, Array<String>* dataPtr)
- virtual void putArrayStringV (uInt rownr, const Array<String>* dataPtr)
- void setShape (uInt aRowNr, const IPosition& aShape)
- virtual IPosition shape (uInt aRowNr)
- Bool canChangeShape() const
- virtual Bool isShapeDefined (uInt aRowNr)
- virtual uInt ndim (uInt aRowNr)
- Private Members
- SSMIndStringColumn (const SSMIndStringColumn&)
- SSMIndStringColumn& operator= (const SSMIndStringColumn&)
Review Status
- Programs:
- Tests:
Prerequisite
Etymology
SSMIndStringColumn represents an Indirect String Array Column in the
Standard Storage Manager.
Synopsis
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.
Motivation
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.
Member Description
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).
Get an array value in the given row.
An exception is thrown if no array is defined in this row.
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.
Get the shape of the array in the given row.
This storage manager can handle changing array shapes.
Is the shape defined (i.e. is there an array) in this row?
virtual uInt ndim (uInt aRowNr)
Get the dimensionality of the item in the given row.
Forbid copy constructor.
SSMIndStringColumn& operator= (const SSMIndStringColumn&)
Forbid assignment.