Go to the documentation of this file.
28 #ifndef TABLES_SSMCOLUMN_H
29 #define TABLES_SSMCOLUMN_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/StManColumn.h>
35 #include <casacore/tables/DataMan/SSMBase.h>
36 #include <casacore/casa/Arrays/IPosition.h>
37 #include <casacore/casa/Containers/Block.h>
38 #include <casacore/casa/OS/Conversion.h>
315 return static_cast<char*
>(
itsData);
void setColNr(uInt aColNr)
set the sequence number of this column.
void putValue(uInt aRowNr, const void *aValue)
Put the given value for the row into the correct data bucket.
void * itsData
The data in local format.
SSMColumn & operator=(const SSMColumn &)
Forbid assignment.
uInt itsNrCopy
Number of values to be copied.
virtual void putScalarColumnStringV(const Vector< String > *aDataPtr)
virtual void getScalarColumnIntV(Vector< Int > *aDataPtr)
virtual void getScalarColumnComplexV(Vector< Complex > *aDataPtr)
uInt itsExternalSizeBytes
Length of column cell value in storage format (0 = variable length).
virtual uInt ndim(uInt aRowNr)
Get the dimensionality of the item in the given row.
virtual void putBoolV(uInt aRowNr, const Bool *aDataPtr)
Put the scalar value in the given row.
virtual void setMaxLength(uInt maxLength)
Set the maximum length of a 'fixed length' string.
SSMBase * itsSSMPtr
Pointer to the parent storage manager.
virtual void putScalarColumnDComplexV(const Vector< DComplex > *aDataPtr)
SSMColumn(SSMBase *aParent, int aDataType, uInt aColNr)
Create a SSMColumn object with the given parent.
virtual void putScalarColumndoubleV(const Vector< double > *aDataPtr)
std::complex< Double > DComplex
virtual void getScalarColumnuShortV(Vector< uShort > *aDataPtr)
virtual void putComplexV(uInt aRowNr, const Complex *aDataPtr)
Conversion::ValueFunction * itsReadFunc
Pointer to a convert function for reading.
void resync(uInt aNrRow)
Resync the storage manager with the new file contents.
SSMColumn(const SSMColumn &)
Forbid copy constructor.
void init()
Initialize part of the object.
virtual void putDComplexV(uInt aRowNr, const DComplex *aDataPtr)
void getColumnValue(void *anArray, uInt aNrRows)
Get the values for the entire column.
virtual void addRow(uInt aNewNrRows, uInt anOldNrRows, Bool doInit)
Add (NewNrRows-OldNrRows) rows to the Column and initialize the new rows when needed.
uInt getExternalSizeBytes() const
Get the size of the dataType in bytes!!
virtual void getScalarColumnuIntV(Vector< uInt > *aDataPtr)
virtual void putuCharV(uInt aRowNr, const uChar *aDataPtr)
Conversion::ValueFunction * itsWriteFunc
Pointer to a convert function for writing.
virtual void putScalarColumnuIntV(const Vector< uInt > *aDataPtr)
virtual void putScalarColumnComplexV(const Vector< Complex > *aDataPtr)
virtual void getScalarColumndoubleV(Vector< double > *aDataPtr)
virtual void putScalarColumnInt64V(const Vector< Int64 > *aDataPtr)
void shiftRows(char *aValue, uInt rowNr, uInt startRow, uInt endRow)
Shift the rows in the bucket one to the left when removing the given row.
uInt getColNr()
get the sequence number of this column.
virtual void getScalarColumnShortV(Vector< Short > *aDataPtr)
virtual void getShortV(uInt aRowNr, Short *aDataPtr)
void putValueShortString(uInt aRowNr, const void *aValue, const String &string)
Put the given string for the row into the correct data bucket.
virtual void getDComplexV(uInt aRowNr, DComplex *aDataPtr)
uInt itsMaxLen
The maximum length of a 'fixed length' string.
virtual void getScalarColumnStringV(Vector< String > *aDataPtr)
uInt itsColNr
Column sequence number of this column.
uInt itsLocalSize
The sizeof the datatype in local format.
virtual void getBoolV(uInt aRowNr, Bool *aDataPtr)
Get the scalar value in the given row.
virtual void getStringV(uInt aRowNr, String *aDataPtr)
virtual void getScalarColumnuCharV(Vector< uChar > *aDataPtr)
virtual void getScalarColumnBoolV(Vector< Bool > *aDataPtr)
Get the scalar values of the entire column.
virtual void putScalarColumnfloatV(const Vector< float > *aDataPtr)
virtual void getuCharV(uInt aRowNr, uChar *aDataPtr)
virtual void putStringV(uInt aRowNr, const String *aDataPtr)
virtual void getIntV(uInt aRowNr, Int *aDataPtr)
virtual void putdoubleV(uInt aRowNr, const double *aDataPtr)
void putColumnValue(const void *anArray, uInt aNrRows)
Put the values from the array in the entire column.
virtual void deleteRow(uInt aRowNr)
Remove the given row from the data bucket and possibly string bucket.
this file contains all the compiler specific defines
virtual void putScalarColumnIntV(const Vector< Int > *aDataPtr)
virtual void doCreate(uInt aNrRows)
Let the object initialize itself for a newly created table.
virtual void putIntV(uInt aRowNr, const Int *aDataPtr)
virtual void getScalarColumnfloatV(Vector< float > *aDataPtr)
virtual void setShapeColumn(const IPosition &aShape)
Set the shape of an array in the column.
void removeColumn()
If something special has to be done before removing the Column, as is the case with Strings,...
virtual void getfloatV(uInt aRowNr, float *aDataPtr)
virtual void putScalarColumnuCharV(const Vector< uChar > *aDataPtr)
char * getDataPtr()
Get the pointer to the cache.
uInt getRowsPerBucket(uInt aColumn) const
Get rows per bucket for the given column.
virtual void putuIntV(uInt aRowNr, const uInt *aDataPtr)
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
IPosition itsShape
The shape of the column.
virtual void getuIntV(uInt aRowNr, uInt *aDataPtr)
uInt itsNrElem
Number of elements in a value for this column.
virtual void putScalarColumnuShortV(const Vector< uShort > *aDataPtr)
virtual void getInt64V(uInt aRowNr, Int64 *aDataPtr)
uInt getExternalSizeBits() const
Get the size of the dataType in bits!!
virtual void putfloatV(uInt aRowNr, const float *aDataPtr)
virtual void putScalarColumnBoolV(const Vector< Bool > *aDataPtr)
Put the scalar values of the entire column.
String: the storage and methods of handling collections of characters.
virtual void putuShortV(uInt aRowNr, const uShort *aDataPtr)
virtual void putShortV(uInt aRowNr, const Short *aDataPtr)
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 getScalarColumnInt64V(Vector< Int64 > *aDataPtr)
bool Bool
Define the standard types used by Casacore.
std::complex< Float > Complex
virtual void putScalarColumnShortV(const Vector< Short > *aDataPtr)
virtual void putInt64V(uInt aRowNr, const Int64 *aDataPtr)
virtual void getScalarColumnDComplexV(Vector< DComplex > *aDataPtr)
virtual void getuShortV(uInt aRowNr, uShort *aDataPtr)
virtual void getFile(uInt aNrRows)
Let the column object initialize itself for an existing table.
virtual void getComplexV(uInt aRowNr, Complex *aDataPtr)
void getValue(uInt aRowNr)
Fill the cache with data of the bucket containing the given row.
virtual void getdoubleV(uInt aRowNr, double *aDataPtr)
Char * getRowValue(Int *data, uInt aRowNr)
Get the bucketnr, offset, and length of a variable length string.
virtual IPosition shape(uInt aRowNr)
Get the shape of the array in the given row.