28 #ifndef TABLES_SSMCOLUMN_H
29 #define TABLES_SSMCOLUMN_H
289 return static_cast<char*
>(
itsData);
A Vector of integers, for indexing into Array<T> objects.
uInt itsLocalSize
The sizeof the datatype in local format.
Char * getRowValue(Int *data, rownr_t aRowNr)
Get the bucketnr, offset, and length of a variable length string.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
Non-templated base class for templated Array class.
void resync(rownr_t aNrRow)
Resync the storage manager with the new file contents.
std::complex< Float > Complex
uInt getExternalSizeBytes() const
Get the size of the dataType in bytes!!
virtual void getFile(rownr_t aNrRows)
Let the column object initialize itself for an existing table.
virtual void getuShort(rownr_t aRowNr, uShort *aDataPtr)
virtual IPosition shape(rownr_t aRowNr)
Get the shape of the array in the given row.
void putValue(rownr_t aRowNr, const void *aValue)
Put the given value for the row into the correct data bucket.
virtual void getScalarColumnV(ArrayBase &aDataPtr)
Get the scalar values of the entire column.
void init()
Initialize part of the object.
virtual void putInt(rownr_t aRowNr, const Int *aDataPtr)
uInt getExternalSizeBits() const
Get the size of the dataType in bits!!
char * getDataPtr()
Get the pointer to the cache.
SSMColumn(SSMBase *aParent, int aDataType, uInt aColNr)
Create a SSMColumn object with the given parent.
Base table column storage manager class.
uInt itsNrElem
Number of elements in a value for this column.
virtual void deleteRow(rownr_t aRowNr)
Remove the given row from the data bucket and possibly string bucket.
void setColNr(uInt aColNr)
set the sequence number of this column.
Base class of the Standard Storage Manager.
uInt itsMaxLen
The maximum length of a 'fixed length' string.
void putValueShortString(rownr_t aRowNr, const void *aValue, const String &string)
Put the given string for the row into the correct data bucket.
virtual void putShort(rownr_t aRowNr, const Short *aDataPtr)
virtual void getShort(rownr_t aRowNr, Short *aDataPtr)
virtual void setShapeColumn(const IPosition &aShape)
Set the shape of an array in the column.
void putColumnValue(const void *anArray, rownr_t aNrRows)
Put the values from the array in the entire column.
void removeColumn()
If something special has to be done before removing the Column, as is the case with Strings...
virtual void putInt64(rownr_t aRowNr, const Int64 *aDataPtr)
Conversion::ValueFunction * itsWriteFunc
Pointer to a convert function for writing.
virtual void putdouble(rownr_t aRowNr, const double *aDataPtr)
virtual void addRow(rownr_t aNewNrRows, rownr_t anOldNrRows, Bool doInit)
Add (NewNrRows-OldNrRows) rows to the Column and initialize the new rows when needed.
uInt getColNr()
get the sequence number of this column.
SSMColumn & operator=(const SSMColumn &)
Forbid assignment.
void shiftRows(char *aValue, rownr_t rowNr, rownr_t startRow, rownr_t endRow)
Shift the rows in the bucket one to the left when removing the given row.
virtual void getComplex(rownr_t aRowNr, Complex *aDataPtr)
virtual void getInt(rownr_t aRowNr, Int *aDataPtr)
std::complex< Double > DComplex
uInt itsNrCopy
Number of values to be copied.
virtual void putBool(rownr_t aRowNr, const Bool *aDataPtr)
Put the scalar value in the given row.
virtual uInt ndim(rownr_t aRowNr)
Get the dimensionality of the item in the given row.
virtual void putDComplex(rownr_t aRowNr, const DComplex *aDataPtr)
uInt itsColNr
Column sequence number of this column.
virtual void setMaxLength(uInt maxLength)
Set the maximum length of a 'fixed length' string.
virtual void putfloat(rownr_t aRowNr, const float *aDataPtr)
bool Bool
Define the standard types used by Casacore.
A Column in the Standard Storage Manager.
virtual void getuChar(rownr_t aRowNr, uChar *aDataPtr)
virtual void getfloat(rownr_t aRowNr, float *aDataPtr)
virtual void putString(rownr_t aRowNr, const String *aDataPtr)
IPosition itsShape
The shape of the column.
virtual void putScalarColumnV(const ArrayBase &aDataPtr)
Put the scalar values of the entire column.
void * itsData
The data in local format.
Conversion::ValueFunction * itsReadFunc
Pointer to a convert function for reading.
virtual void doCreate(rownr_t aNrRows)
Let the object initialize itself for a newly created table.
virtual void getdouble(rownr_t aRowNr, double *aDataPtr)
uInt64 rownr_t
Define the type of a row number in a table.
virtual void putComplex(rownr_t aRowNr, const Complex *aDataPtr)
uInt itsExternalSizeBytes
Length of column cell value in storage format (0 = variable length).
uInt getRowsPerBucket(uInt aColumn) const
Get rows per bucket for the given column.
String: the storage and methods of handling collections of characters.
virtual void getDComplex(rownr_t aRowNr, DComplex *aDataPtr)
virtual void putuShort(rownr_t aRowNr, const uShort *aDataPtr)
void getColumnValue(void *anArray, rownr_t aNrRows)
Get the values for the entire column.
virtual void getuInt(rownr_t aRowNr, uInt *aDataPtr)
virtual void putuInt(rownr_t aRowNr, const uInt *aDataPtr)
void getValue(rownr_t aRowNr)
Fill the cache with data of the bucket containing the given row.
virtual void putuChar(rownr_t aRowNr, const uChar *aDataPtr)
virtual void getBool(rownr_t aRowNr, Bool *aDataPtr)
Get the scalar value in the given row.
size_t ValueFunction(void *to, const void *from, size_t nvalues)
Define the signature of a function converting nvalues values from internal to external format or vice...
virtual void getInt64(rownr_t aRowNr, Int64 *aDataPtr)
SSMBase * itsSSMPtr
Pointer to the parent storage manager.
virtual void getString(rownr_t aRowNr, String *aDataPtr)